GUI в космосе: помощь в C#

Я использовал Cosmos в Microsoft Visual C# 2008 для создания примитивных, TUI, операционных систем. Интересно, как сделать GUI в Космосе. Я знаю, что это возможно, но я просто хочу знать, как это сделать. Конструктивная критика приветствуется, оскорблений нет! Пожалуйста, ответьте с кодом (и комментариями в коде), потому что я абсолютный новичок, обладающий лишь некоторыми знаниями базовых команд C#. Спасибо!

2 ответа

Я не знаю, какой этап вы используете, но я думаю, что это может сработать для вас. Вам нужна эта переменная уровня класса:

 Cosmos.Hardware.VGAScreen screen;

И в вашем методе Init:

 screen = new Cosmos.Hardware.VGAScreen();
 screen.SetMode300x200x8();
 screen.Clear(0);
 //done init vga screen

После этого последнего комментария вы можете использовать его в своем коде для установки цвета пикселя:

 screen.SetPixel300x200x8(uint x, uint y, uint color);

Параметр color - это цвет пикселя в формате 256 цветов (числа от 0 до 255). Это все, что вам нужно для создания графического интерфейса. Тем не менее, вам нужно много математических навыков для создания фигур.

Есть также GUI API с функциями для создания фигур. Выполните поиск в Google/YouTube или посетите страницу обсуждения на странице кодекса Cosmos:

http://cosmos.codeplex.com/discussions

Это на 2020 год, потому что это ОЧЕНЬ хороший способ сделать это в космосе. (ИСПОЛЬЗОВАНИЕ CGS)

using System;
using System.Drawing;
using Cosmos.System.Graphics;
using Sys = Cosmos.System;

namespace Graphics
{
    public class Kernel : Sys.Kernel
    {
        Canvas canvas;

        protected override void BeforeRun()
        {
            canvas = FullScreenCanvas.GetFullScreenCanvas();
            canvas.Clear(Color.Black);
        }

        protected override void Run()
        {
            Pen pen = new Pen(Color.White);
            // DRAW stuff see https://www.gocosmos.org/docs/cosmos-graphic-subsystem/
        }
    }
}
Другие вопросы по тегам