Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт май 25, 2017 9:08 pm

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




Начать новую тему  Ответить на тему  [ 240 сообщений ]  На страницу Пред. 112 13 14 15 16
Автор Сообщение
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт окт 22, 2009 6:44 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Цитата:
Ведётся ли разработка лэйаутов в libGUI? (просто если нет, я ей наверное займусь)

Управление размером и положением control-ов предполагается делать через контейнеры и control-лы spacer-ы, которые будут разделять control-лы. Также, если control не будет расположен в контейнере, то его положение будет задаваться абсолютными координатами.
vkos, у тебя есть опыт разработки GUI библиотек?

Цитата:
И кроме того, ширина - это всё-таки width, а не wigth.

Да, описка вышла.

Цитата:
Слово finition означает finishing?

finit-ограничивать.
Цитата:
PS: в примере main есть глюк - при перемещении области со скроллами остаются следы на предыдущем месте, которые исчезают при полной перерисовке)

Скорее всего ты используешь старую версию библиотеки и возможно старую версию примеров. У меня таких глюков давно нет(после буферизации некоторых control-ов).

Теперь о главном.
Возможно у кого-то возник вопрос, почему дальше не пишутся control-ы и почему появилась пауза в разработке.
Архитектура библиотеки libGUI(так сказать её движок) до конца не сформирован. Все control-ы, которые есть в библиотеке, я сделал только для проверки некоторых возможностей движка. Сейчас в развитии движка наметился следующий этап. Как уже писал в этой теме Diamond, необходимо, чтобы почти у каждого control-а было своё окно, куда он отрисовывает себя (некоторые control-ы могут не иметь окон, потому что они просто будут им не нужны). В KolibriOS один поток может иметь только одно окно. Пока не будем обращать внимания, что количество потоков в KolibriOS ограничено цифрой 255.
Для управления control-окнами необходимо эффективно управлять потоками и соответственно их окнами. Необходим оконный стек с выравненными по глубине окнами. Должно быть окно, которые всегда будет ниже всех(для фона десктопа и иконок), также самое верхнее окно, которое всегда будет поверх остальных(самым верхним окном могут быть разные окна). Ну и между ними окна выровненные по глубине. При изменении положения окна, которое не является верхним, нужно восстанавливать фон на старом месте не перерисовкой всех нижележащих по глубине окон а восстановлением фона с использованием буферизации. В KolibriOS активированное окно автоматически становиться как бы самым верхним по глубине. То есть переместить окно, не сделав его автоматически самым верхним - невозможно.
В общем придётся мне делать control-окна исходя из того, что сейчас есть в ядре, а потом уже думать как сделать правильную реализацию работы с окнами. Конечно нужно посмотреть на реализацию в других системах.
Никуда не денешься, но придётся попробовать изменить действующий оконный менеджер в ядре(естественно советуясь со всеми разработчиками KolibriOS). Пока что я занят другими задачами(а задач у меня предостаточно), как только смогу - переключусь на libGUI и оконную систему.

_________________
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт окт 22, 2009 7:10 pm 
Не в сети

Зарегистрирован: Пт окт 12, 2007 1:04 pm
Сообщения: 141
Цитата:
vkos, у тебя есть опыт разработки GUI библиотек?

Есть, хотя и не очень удачный.
Цитата:
Скорее всего ты используешь старую версию библиотеки и возможно старую версию примеров.

Примеры последние выложенные, а библиотека последняя из бинарных (т.к. собранная мной не работает).
Цитата:
Никуда не денешься, но придётся попробовать изменить действующий оконный менеджер в ядре(естественно советуясь со всеми разработчиками KolibriOS)

У меня была другая идея (и может я её когда-нибудь реализую, если к тому времени никто не сделает нормальный оконный менеджер). Сделать 2 программы-сервера, которая будет рисовать напрямую в видеопамять, и оконный менеджер, работающий поверх первого сервера. Простые же программы могут обращаться к оконному менеджеру. Для совместимости со старыми программами (если она будет уж так нужна) можно написать костыль в ядре, перенаправляющий запросы на оконный менеджер.
Также есть промежуточный вариант - сделать сервер всех окон, но тогда преимущество только в том, что работать с окнами приложениям будет проще.
Цитата:
finit-ограничивать.

По-английски?


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Пт окт 23, 2009 2:11 pm 
Не в сети

Зарегистрирован: Пт окт 12, 2007 1:04 pm
Сообщения: 141
Кстати, по какой лицензии распространяется libGUI?


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Пт окт 23, 2009 2:32 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
У меня пока нет времени думать над лицензиями.Наверное GPL или BSD. Не до лицензий мне сейчас.

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Пт окт 23, 2009 3:52 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
vkos писал(а):
Цитата:finit-ограничивать.По-английски?


Цитата:
<--- dictd_www.mova.org_slovnyk_en-ru --->
finite
finite
ограничен
ограниченный
ущербленный


<--- en-ru-bars --->
finite
1> ограниченный, имеющий предел

2> _мат. ограниченный, конечный

3> _грам. личный (о глаголе)
<--- quick_english-russian --->
finite
ограниченный


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Пт окт 23, 2009 3:54 pm 
Не в сети

Зарегистрирован: Пт окт 12, 2007 1:04 pm
Сообщения: 141
Albom
Ну так finite, а не finit.


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Пт окт 23, 2009 4:09 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
vkos
Ну так никто и не спорит! :) finite - так finite. это прилагательное. если глагол, то:

Цитата:
<--- dictd_www.mova.org_slovnyk_ru-en --->
ограничивать
ограничивать
abridge
astrict
bind
bound
circumscribe
confine
conscribe
constrain
determine
limit
pinfold
restrain
restrict
specialize
straiten
terminate


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 10:31 am 
Не в сети

Зарегистрирован: Вс ноя 04, 2007 2:46 am
Сообщения: 390
Попытался скомпилировать пример (ассемблерный button.inc), получил сообщение от fasm об отсутствии libGUI.inc
Можно ли его получить?


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 11:04 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Видал такой в одном из старых архивов.
Оффтопик: Почему бы не использовать boxlib?


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 11:09 am 
Не в сети

Зарегистрирован: Вс ноя 04, 2007 2:46 am
Сообщения: 390
Оффтопик: Мне хотелось попробовать LibGUI, желания юзать её в каком-то приложении целенаправленно не было.

А вообще я буду очень благодарен, если кто-нибудь вынесет из tinypad'a код меню и оформит его в виде библиотеки (или части либы). Причем так, что бы можно было назначать callback функцию на пункт меню.

Тоже самое относится к выводу текста с помощью нестандартных шрифтов (так, как это реализовано в shell и kfar) :)


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 11:34 am 
Я думаю если бы Михаил имел время, желание и главное это было бы достаточно просто, то он бы сам вынес меню в библиотеку. На самом деле компоненты изначально не предназначенные для выделения в библиотеку (например, реализованные в виде макроса) очень сложно потом выделить - возникает куча неучтенных мест. Я к примеру очень долго выковыривал компоненты scrollbar и filebrowser из KFM, чтобы вставить в Box_Lib. Иногда компонент проще написать заново и от языка разработки тут мало что зависит.

В Box_Lib кстати содержит меню, которое есть в двух приложениях: zSea и OpenDialog.


Вернуться к началу
   
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 11:39 am 
Не в сети

Зарегистрирован: Вс ноя 04, 2007 2:46 am
Сообщения: 390
Mario, эммммм, а rtreader/heed им ведь пользуются вроде? Или нет?
И вопрос: boxlib овскому меню такой стиль, как в tinypad не придашь? Больно он мне понравился.


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 11:44 am 
maximYCH писал(а):
rtreader/heed им ведь пользуются вроде? Или нет?

Да, не учел - не я прикручивал, так что тупо забыл, что они тоже используют.
maximYCH писал(а):
И вопрос: boxlib овскому меню такой стиль, как в tinypad не придашь? Больно он мне понравился.

Нет. Что в Тинипад, что в Box_Lib компоненты рисуются программно и это требует переделки кода отрисовывающего внешний вид. Была идея сделать поддержку RAW, но поскольку для меня гламур свистоперделки чувство прекрасного красивости дизайна стоят на последнем месте, то будет это еще не скоро.


Вернуться к началу
   
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 11:53 am 
Не в сети

Зарегистрирован: Вс ноя 04, 2007 2:46 am
Сообщения: 390
Хм, т.е. грубо говоря, если я сейчас прикручу boxlibовское меню к animage, то потом, при желании, если переписать код меню boxlib в стиль tinypad, получится требуемый стиль?

З.Ы. Если с меню вопрос решен, то просьба про вывод шрифтом 8x16 остается актуальной. Очень актуальной.


Вернуться к началу
 Заголовок сообщения: Re: libGUI
СообщениеДобавлено: Чт авг 11, 2011 12:11 pm 
maximYCH писал(а):
Хм, т.е. грубо говоря, если я сейчас прикручу boxlibовское меню к animage, то потом, при желании, если переписать код меню boxlib в стиль tinypad, получится требуемый стиль?

У Box_Lib есть свой стиль, который продиктован скоростью вывода. Если кому-то нужны красивости, то он может написать свой компонент и добавить его в бибилотеку. Я против изменения текущего.
maximYCH писал(а):
З.Ы. Если с меню вопрос решен, то просьба про вывод шрифтом 8x16 остается актуальной. Очень актуальной.

я этим вопросом не занимаюсь.

З.Ы. Просьба больше не оффтопить - есть специализированные темы, там и нужно писать.


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 240 сообщений ]  На страницу Пред. 112 13 14 15 16

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


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

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


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

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