Question

Comment puis-je développer l'interface graphique en C # Cosmos?

cosmos OS

Pas de solution correcte

Autres conseils

Voici comment (avec étape 5, mais son similaire pour les autres versions). Cosmos fait les choses VGA pour vous. Il fait aussi la souris et le clavier. Je ne l'ai pas été en mesure de faire encore un clavier, mais j'ai une souris de travail (même si je nai pas été en mesure de savoir comment voir si les boutons sont en bas). Ill vous montrer les fonctions VGA pour vous aider à démarrer. Tout d'abord, vous avez besoin cet espace de noms:

using Cosmos.Hardware;

Ensuite, une variable pour l'écran de vivre dans Ajouter cette variable de niveau de classe:.

 VGAScreen screen:

Ensuite, pour l'initialiser, ajoutez ce code à votre méthode BeforeRun ():

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

Enfin, vous pouvez définir la couleur des pixels avec:

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

Vous définissez x y et toute la couleur, c. Les couleurs sont en format 256 couleurs. Math est impliqué pour créer des formes.

Vous devez écrire le pilote VGA premier. Et le pilote de la souris. Et probablement obtenir le garbage collector va. Tant de choses à faire.

OUI! vous pouvez, j'ai une certaine ce qu'est un bon IUG, et un pilote de souris qui fonctionne. alors oui, il est possible, mais prend du temps et vous avez besoin de savoir quoi écrire et lire quand vous faites le pilote de la souris, sinon, il est possible.

Je suis un grand gars COSMOS, et si quelqu'un vient à travers plus tard, je veux laisser un moyen de le faire à partir de 12/10/2015.

Avant de commencer I HAUTEMENT recommandons d'utiliser le kit de développement pas userkit. Alors que le kit de développement est destiné à modifier Cosmos lui-même, vous pouvez garder tout loin de cela et fermer la fenêtre VS quand il a terminé l'installation. Le kit de développement a tous les caractéristiques du userkit a, mais le userkit met à jour une seule fois tous les mois, peut-être plus, et le kit de développement est mis à jour tous les jours avec les dernières corrections de bugs et fonctionnalités. Vous devriez certainement télécharger la place DevKit, parce qu'il a le plus de soutien aussi.

Bon pour ainsi obtenir VGA, ouvrir une nouvelle fenêtre de Visual Studio. Créer un nouveau Class Library et nommez quel que soit le diable que vous voulez.

Accéder aux références et ajoutez une référence à Cosmos.HAL, Cosmos.Common et Cosmos.System. Vous pouvez les trouver à% AppData% \ Roaming \ Cosmos Kit utilisateur

Allez dans AssemblyInfo.cs et ajouter using Cosmos.Common;, et au fond ajoutez la ligne suivante: [Assembly: Ring (Ring.System)]

Bon grand, maintenant, vous devez aller et créer une nouvelle classe nommée tout.

En haut, ajoutez un à l'aide Cosmos.HAL et à l'aide du système.

Ajoutez deux lignes:

public static VGAScreen screen = new VGAScreen(); et public static Mouse mi = new Mouse(); écran Nom et mi ce que vous voulez.

Créer une méthode Init et Tick nom que ce soit.

Voici un exemple méthode Init:

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);
}

dans la méthode Tick, ajoutez simplement que ce soit. Tout ce que vous voulez arriver tout comme milisecond ou si. Il pourrait être, comme, le dessin de la souris ou quelque chose. Vous pouvez constater que ailleurs sur Internet, qui est un peu d'une longue histoire.

Voilà, maintenant que vous avez à travailler VGA!

Vous pouvez définir pixels avec screen.SetPixel320x200x8 (x, y, couleur);

couleurs vont de l'0-3f. Il suit les couleurs de la console générique 0-f, mais ajoute simplement une tonne plus d'options.

Maintenant, juste construire cette dll et ref dans votre OS principal. Maintenant, ajoutez les méthodes yourvgaclass.Init à la méthode BeforeRun dans le noyau, et yourvgaclass.Tick à la méthode Run dans le noyau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top