OSDev
http://osdev.su/

Разработка графического интерфейса (GUI)
http://osdev.su/viewtopic.php?f=5&t=95
Страница 1 из 1

Автор:  phantom-84 [ 21 июл 2007, 12:54 ]
Заголовок сообщения:  Re: Разработка графического интерфейса (GUI)

legos, я над реализацией GUI задумываюсь пока только в том плане, как это может максимально быстро работать в моей системе. Пока остановился на идее связки GUI-сервер/приложение-оболочка - весь вывод должен осуществляться в графическом контексте оболочки, а использование GUI-сервера помимо выполнения им его основных функций обусловлено максимально быстрой передачей данных между адресными пространствами "приложения-клиента" и приложения-оболочки, хотя возможно получится это сделать исключительно с помощью IPC.

P.S. Понятие "сервер" я использую совсем в другом смысле, нежели тот, что закладывается в него в микроядре. У меня так называется то, что осуществляет сервис через дополнительный программный обработчик, который может быть зарегистрирован в системе. Сейчас это реализовано через дополнительные программные прерывания (диапазон 0x64 - 0xFF). Так есть идея Linux-сервера (0x80), а также GUI-сервера. Системные вызовы - это фактически обращение к серверу ядра. Способ обращения к серверу в рамках конкретной системы всегда единообразен в отличии, например, от обращения к функциям вирт. устройств.

Автор:  semiono [ 21 июл 2007, 20:57 ]
Заголовок сообщения:  Re: Разработка графического интерфейса (GUI)

Если гуй будет рисовать окна в обычном традиционном смысле, то там должны быть
1. API для сворачивания окна в заголовок aka WinRoll,
2. притягивание и выравнивание окошек к краям и между собой,
3. включение StayOnTop для любого отдельного окна по желанию.
4. что-то востанавливающее размеры окон по шаблону (Left, Right, Centre, 800x600...)toggle window, LeftToRight, Cascade... etc.
Изображение
Либо традиционные схемы virtual десктопов, как в KDE... однако штук 4 (alpha, beta, gamma, delta) вполне хватит, никто 50-60 не использует :)

Дрон бы сказал, почему только четыре? Надо 10000 :)

Недопустимо это пускать на самотёк, чтоб потом все делали это как получится, это часть 'системы' и должно быть сразу.
Тут можно бы создать wiki таблицу функций, обсудить заранее и проголосовать интересующимся народом.
Так как в одиночку можно и забыть чего...

Автор:  semiono [ 23 июл 2007, 22:07 ]
Заголовок сообщения:  Re: Разработка графического интерфейса (GUI)

Ещё одно замечание...
Часто встречается один баг почти во всех приложениях.
Когда используется Stay On Top в главном окне программы, как правило все остальные забываются,
и что мы имеем? Например, открылся плеер и стоит он зе топ. При попытке открыть эквалайзер, он оказывается позади программы, тоже самое любые другие окна, настроек и т.п. Уже не раз видел такое.
Вообщем дочерние окна должны наследовать свойства родительских в этом случае!
:P

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/