Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс авг 20, 2017 8:41 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 19 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 23, 2007 7:07 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Все эти внутриядерные объекты сплошное мучение. Создаст программа кучу таких компонентов а потом упадёт ядро должно все эти компоненты убрать. Они располагаются в памяти ядра значит прямого доступа к ним у программ нет надо делать специальные вызовы. Те кнопки что сейчас есть в ядре остались от МеОС и нужны для совместимости со старыми программами и число их ограничено.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 26, 2007 6:40 pm 
Не в сети

Зарегистрирован: Ср фев 21, 2007 3:03 pm
Сообщения: 188
м-да.....согласен...да не подумал что может быть 10 окон по 100 компонентов (и того больше)
а насчет специальных вызовов, зачем? все работает как с обычными кнопками, ядро только событие возвращает клик по компоненте с id таким-то или мышь зашла/ушла на/с компонеты с таким-то id.....но уже неважно

тут где-то вопрос пролетал, насчет нескольких окон для приложения....как продвигается? или решили что не нужно?


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 26, 2007 7:45 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
>ут где-то вопрос пролетал, насчет нескольких окон для приложения....как продвигается? или решили что не нужно?

Ничего не решили. Для этого надо весь GUI переписать и ещё добрую часть ядра. Или не добрую :(


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 03, 2007 3:36 pm 
Не в сети

Зарегистрирован: Чт дек 21, 2006 10:51 am
Сообщения: 88
Полностью поддерживаю идею выноса GUI из ядра системы. Я считаю что ядро системы должно предоставлять только базовые функции по управлению аппаратурой, проще горворя реализовыать нечтно на подобие GDI Windows но только без реализаций виджетов (конторлов).

Думаю что эта штука должна работать сл. образом

Обеспечивать ввод в виртуальной системе координат (как в драйвере мыши), т.е. допустим есть матрица (виртуальный
экран) размером скажем 800Х600. Интерфейсные функции позволяют рисовать точки, линии и т.д. в координатах этой
матрицы, т.е. заполнять ее, затем GUI из ядра осуществляет пересчет в координаты которые использует оборудование и
выводит это все на экран. (В общем походу это так и делается). Обновление реального экрана осуществляет демон
(фоновый процесс, служба ...) через некоторое незначительное время, или по команде - функции API . Все это
естественно лучше делать в асме.

Все остальное реализует некий GUI API, который естесвенно проще и лучше реализовать скажем на С++ и положить в
некие DLL что бы все могли юзать в своих программах. Доустим для создания скажем кнопки достаточно было бы вызвать
некоторую функцию или макрос типа void pascal createButton(int left, int top, int width, int height, char *caption, Image img);
Чтоб остаться в приделах дискеты (хотя ИМХО, последний завод в мире по производству дискет 3.5 уже закрыт с чем и
поздравляю вас товарищи) все это API можно запаковать, а программа обращающаяся к каким то из частей API
распаковывает и кладет в некую tempdll директорию, естестно предварительно проверив нет ли такой либы уже там.

Какое это преимущество дает перед GUI намертво зашитым в ядро? Очевидно что следующие:

1. Относительная независимость от оборудования прикладных программ.
2. Возможность создания нескольких видов Шелов с GUI, например Light GUI Shell или Full Power GUI Shell основанных
на разных GUI API. Первая из которых допустим написанна на ASM вторая на C++.

Недостатки

Будут плодится программы для определенных GUI API и не факт что совмекстимых между собой, но это допустим можно
обойти введя стандарт на базовые функции GUI API, или ввести некоторцую базовою GUI API и потребовать что бы все
другие были лиш фреймверками над дней.

Все это должно снизить общую производительность системы (хотя нахрен кому нужна сверхпроизводительность если
нет должной функциональности, кстати за что я и уважаю минуэт и колибри в частности так это за должный уровень
функциональности при минимальном размере но до действительно полезной системы еще очень далеко допустим нет
ODBC и вобще каких либо средств для нормальной работы с БД, нет ни COM ни CORBA и RPC и т.д. ...).

Короче идея эта не новая, подсказаная сервером XWindow и GDI Windows реально доказано что работает.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 19 сообщений ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB