Я использовал Cosmos в Microsoft Visual C# 2008 для создания примитивных, TUI, операционных систем. Интересно, как сделать GUI в Космосе. Я знаю, что это возможно, но я просто хочу знать, как это сделать. Конструктивная критика приветствуется, оскорбления не принимаются! Пожалуйста, ответьте с кодом (и комментариями в коде), потому что я абсолютный новичок, лишь немного знающий основные команды С#. Спасибо!
Графический интерфейс в космосе: помощь в C#
comment
В последний раз, когда я смотрел несколько лет назад, поддержка мыши и VGA была насущной необходимостью. Они все еще есть. Без них нельзя сделать графический интерфейс.
- person Hans Passant   schedule 03.07.2011
Ответы (3)
Я не знаю, какую веху вы используете, но я думаю, что это может сработать для вас. Вам нужна эта переменная уровня класса:
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);
Параметр цвета — это цвет пикселя в формате 256 цветов (числа от 0 до 255). Это все, что вам нужно для создания графического интерфейса. Тем не менее, вам нужно много математических навыков, чтобы создавать фигуры.
person
pjrader1
schedule
16.07.2012
Есть также GUI API с функциями для создания фигур. Поищите в Google/YouTube или посетите страницу обсуждения на странице Cosmos Codeplex:
http://cosmos.codeplex.com/discussions
person
Xesau
schedule
05.05.2013
Это на 2020 год, потому что это ОЧЕНЬ хороший способ сделать это в космосе. (С ИСПОЛЬЗОВАНИЕМ СГС)
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/
}
}
}
person
Eli Ozcan
schedule
24.10.2020