Domanda

Come faccio a sviluppare GUI in C # Cosmos?

cosmo OS

Nessuna soluzione corretta

Altri suggerimenti

Ecco come (con tappa 5, ma il suo simile per le altre versioni). Cosmos fa la roba VGA per voi. Lo fa anche il mouse e la tastiera. Non sono stato in grado di fare una tastiera ancora, ma ho un topo di lavoro (anche se io havent stato in grado di trovare il modo di vedere se i pulsanti sono in calo). Ill vi mostrerà le funzioni VGA per iniziare. In primo luogo, avete bisogno di questo namespace:

using Cosmos.Hardware;

Poi, una variabile per lo schermo di vivere in Aggiungi questa variabile livello di classe:.

 VGAScreen screen:

Poi, per inizializzare, aggiungere il codice al tuo metodo di BeforeRun ():

screen = new VGAScreen();
screen.SetMode320x200x8();
screen.Clear(0);

Infine, è possibile impostare il colore dei pixel con:

screen.SetPixel320x200x8(uint x, uint y, uint c);

È possibile impostare la x qualsiasi y e il colore, c. I colori sono nel formato di colore 256. La matematica è coinvolto per fare le forme.

Dovrete scrivere il driver VGA prima. E il driver del mouse. E probabilmente ottenere il garbage collector in corso. Così tanto da fare.

YES! è possibile, ho un po 'quello che una buona interfaccia grafica, e un driver di mouse di lavoro. Quindi sì, è possibile, ma richiede tempo e avete bisogno di sapere cosa scrivere e leggere quando si sta facendo il mouse-conducente, in caso contrario, è possibile.

Sono un grande COSMOS ragazzo, e se qualcuno si imbatte in questo più tardi voglio lasciare un modo per farlo a partire dal 2015/10/12.

Prima di iniziare I ALTAMENTE consiglia di utilizzare il non DevKit l'userkit. Mentre il DevKit è destinato a modificare Cosmo stesso, è possibile tenere tutto lontano da quella e chiudere la finestra VS quando finisce l'installazione. Il DevKit ha tutti le caratteristiche della userkit ha, ma l'userkit aggiorna solo una volta al mese o giù di lì, forse di più, e il DevKit viene aggiornata ogni pochi giorni con le ultime correzioni di bug e le caratteristiche. Si dovrebbe scaricare il DevKit invece, perché ha il più supporto troppo.

Va bene in modo da ottenere VGA, aprire una nuova finestra di Visual Studio. Creare un nuovo Class Library e denominarlo qualunque sia il diavolo che si desidera.

Vai riferimenti e aggiungere un riferimento a Cosmos.HAL, Cosmos.Common e Cosmos.System. Potete trovarli in% appdata% \ Roaming \ Cosmo Kit User

Andate in AssemblyInfo.cs e aggiungere using Cosmos.Common;, e in fondo aggiungere la seguente riga: [Assembly: Ring (Ring.System)]

Bene grande, ora è necessario entrare e creare una nuova classe di nome qualunque.

Nella parte superiore, aggiungere un utilizzando Cosmos.HAL e l'utilizzo del sistema.

Aggiungi due righe:

schermo public static VGAScreen screen = new VGAScreen(); e public static Mouse mi = new Mouse(); Nome e mi quello che vuoi.

Crea un metodo Init e Tick nome qualunque.

Ecco un metodo Init esempio:

public static void InitVGA() {
    //Make SURE you have this exact line or else it won't work!  Any size other than 320x200 is broken, and 8-bit is the highest VGA compatible color depth.
    screen.SetGraphicsMode(VGAScreen.ScreenSize.Size320x200, VGAScreen.ColorDepth.BitDepth8);
    //There's a bug currently where only 6-bit color is supported with 8-bit.  0x3f is pure white.
    screen.Clear(0x3f);

    //mi.Initialize(320, 200);
}

Ora, nel metodo di Tick, basta aggiungere qualsiasi altra cosa. Tutto ciò che si vuole che accada ogni milisecond come o giù di lì. Si potrebbe, come, disegnando il mouse o qualcosa del genere. Si possono trovare che altrove su Internet, che è un po 'una lunga storia.

Ci si va, ora avete VGA a lavorare!

È possibile impostare pixel con screen.SetPixel320x200x8 (x, y, colore);

colori applicabili vanno da 0-3f. Ne consegue i colori della console generici 0-f, ma solo aggiunge una tonnellata più opzioni.

Ora, appena costruita dll e REF nella tua sistema operativo principale. A questo punto aggiungere i metodi yourvgaclass.Init al metodo BeforeRun nel kernel, e yourvgaclass.Tick al metodo Run nel kernel.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top