Board.KolibriOS.org
http://board.kolibrios.org/

Рабочая область окна
http://board.kolibrios.org/viewtopic.php?f=36&t=1312
Страница 2 из 2

Автор:  ChE [ Чт авг 13, 2009 8:24 pm ]
Заголовок сообщения:  Re: Рабочая область окна

Serge писал(а):
Программы вообще не должны работать с видеопамятью. Ни сами, ни через вызовы ядра. Весь вывод должен рендериться в битмап в user-mode. А оконный менеджер уже отображать битмапы на экране.

Тогда я хочу, чтобы оконный менеджер определил мне битмап, в который я могу рисовать.:-)

Автор:  andrew_programmer [ Чт авг 13, 2009 8:35 pm ]
Заголовок сообщения:  Re: Рабочая область окна

ChE

Ты читал описание системных функций KolibriOS?
Там все текущие функции для работы с графикой описаны.
А то,что в ядре пока нет буферизации окон - это не меняет сути дела. Читай документацию. Долго и внимательно.

Автор:  Mario [ Чт авг 13, 2009 8:47 pm ]
Заголовок сообщения:  Re: Рабочая область окна

ChE
Цитата:
1. А разве код kfm открыт?

Да, он с самого начала был открытым, но я для себя считаю его не GPL, а BSD что по сути дает другим еще больше прав пользования кодом.
Исходники содержатся в архиве исходников любого дистрибутива, лучше брать не ниже дистрибутива 0750.
Цитата:
2. Насчёт трудности реализации: функция 0, по сути, устанавливает эту область и отрисовывает окно. Можно попробовать сделать функцию установки области отдельной и включить её в код других функций. Примерно так (для функции 0): устанавливаем рабочую область "по умолчанию", вызываем отрисовку окна. После отрисовки окон со скином, можно сделать область поменьше, это, кстати, решит некоторые "ляпы" таких окон.
После этого не потребуется даже переписывать имеющиеся программы, ведь новую функцию никого не заставляют использовать

Честно скажу - заниматься этим некому.
Цитата:
Тогда я хочу, чтобы оконный менеджер определил мне битмап, в который я могу рисовать.

Функция 65 и делай все что твоей душе угодно, а затем выводи собранный RAW.

Если нужен набор некоторых компонентов, то есть совместно разрабатываемаея мной и <Lrz> библиотека BoxLib. Пока только 6 компонентов, но скоро будет еще 2. Тема библиотеки box_lib.obj - библиотека gui компонентов

andrew_programmer
Было бы хорошо объединить усилия, чтобы не делать параллельно одинаковую работу. Принцип орагнизации BoxLib достаточно универсален и абсолютно разные компоненты друг другу не мешают. Однако если решил все таки делать свою библиотеку дело твое. Уважаю твое мнение и труд.

Автор:  ChE [ Чт авг 13, 2009 8:57 pm ]
Заголовок сообщения:  Re: Рабочая область окна

Mario писал(а):
Честно скажу - заниматься этим некому.

Честно скажу - жаль. Тогда, считаю тему закрытой.

Автор:  DmitrySokolowsky [ Чт авг 13, 2009 9:02 pm ]
Заголовок сообщения:  Re: Рабочая область окна

Mario
К сожалению, лицензия BSD дала право, например, фирме Apple использовать СВОБОДНЫЙ код ядра FreeBSD в своей НЕСВОБОДНОЙ системе MacOS X...
То есть сегодня ты лицензируешь свой код под BSD, а завтра кто-нибудь использует твой код в своей проприетарной разработке и будет продавать за большие деньги. И лицензия BSD никак не будет ему в этом препятствовать. А с GPL он не смог бы это сделать...

Автор:  andrew_programmer [ Чт авг 13, 2009 9:21 pm ]
Заголовок сообщения:  Re: Рабочая область окна

Цитата:
andrew_programmer
Было бы хорошо объединить усилия, чтобы не делать параллельно одинаковую работу. Принцип орагнизации BoxLib достаточно универсален и абсолютно разные компоненты друг другу не мешают. Однако если решил все таки делать свою библиотеку дело твое. Уважаю твое мнение и труд.


Mario

Моя библиотека полностью написана на C, поэтому объединить усилия не получиться. Подход к работе с контролами похож на подход GTK+, но есть и отличия.
Тем не менее, наличие разных GUI библиотек - это хорошо для программиста. Можно в зависимости от задачи выбрать нужную библиотеку. Альтернатива - это хорошо.

Автор:  Mario [ Чт авг 13, 2009 9:34 pm ]
Заголовок сообщения:  Re: Рабочая область окна

Атауальпа
Вот зачем мне рассказывать это? Я сам вписал текст лицензии BSD в компоненты которые включил в BoxLib. Я прекрасно отдаю отчет в том что могут сделать с моим кодом и я не возражаю. Я делаю это осознанно, с трезвым и холодным рассудком. BSD лицензия дает мне самому права не меньшие. Я могу сам написать как свободный открытый так и закрытый коммерческий код пользуясь кодом основанным на лицензии BSD. При этом никто никому ничего не обязан! Это самый свободный принцип.
GPL это такое ярмо навесив на свою шею которое программист обязан тащить и тащить, ничего кроме спасибо, и то врядли, он даже теоретически не получит.
Я щас знаю чо скажут - типа по лицензии GPL можно тоже продавать продукты, ага щас их тут же и купили - принципиально никто ничего никому не будет платить, еще и возмущатсья будут.
BSD это самая честная лицензия и самая свободная - хватит уже ханжества с GPL!

Автор:  Ghost [ Пт авг 14, 2009 6:01 am ]
Заголовок сообщения:  Re: Рабочая область окна

Атауальпа вся идея лицензии BSD в этом, и если тебе потом будет жалко что твой код использовали, используй другую лицензию...
Цитата:
К сожалению, лицензия BSD дала право, например, фирме Apple использовать СВОБОДНЫЙ код ядра FreeBSD в своей НЕСВОБОДНОЙ системе MacOS X

Зато теперь все вспоминают FreeBSD при упоминании о MacOS, лучше рекламы для свободного проекта не придумаешь.

Автор:  <Lrz> [ Пт авг 14, 2009 7:59 am ]
Заголовок сообщения:  Re: Рабочая область окна

andrew_programmer писал(а):
Цитата:
andrew_programmer
Было бы хорошо объединить усилия, чтобы не делать параллельно одинаковую работу. Принцип орагнизации BoxLib достаточно универсален и абсолютно разные компоненты друг другу не мешают. Однако если решил все таки делать свою библиотеку дело твое. Уважаю твое мнение и труд.


Mario

Моя библиотека полностью написана на C, поэтому объединить усилия не получиться. Подход к работе с контролами похож на подход GTK+, но есть и отличия.
Тем не менее, наличие разных GUI библиотек - это хорошо для программиста. Можно в зависимости от задачи выбрать нужную библиотеку. Альтернатива - это хорошо.


Не вижу ни каких трудностей, что бы невозможно было объединить код написанный на C/C++ и код написанный на асм.
Другое дело, будет ли библиотека libGUI работать достаточно быстро и иметь не большой объем кода? Можно из одной библиотеки вызывать код другой библиотеки, не нужно будет изобретать велосипед(компоненты) снова.

Автор:  ChE [ Пт авг 14, 2009 8:30 am ]
Заголовок сообщения:  Рабочая область окна

Можно ещё вопрос: кроме меня кто-то считает эту функцию нужной?

Автор:  Mario [ Пт авг 14, 2009 8:46 am ]
Заголовок сообщения:  Re: Рабочая область окна

ChE
Я считаю нужно и полезной, но таковых вещей необходимых к реализации очень много. Если готов сам взяться будет замечаетельно.

Автор:  andrew_programmer [ Пт авг 14, 2009 12:46 pm ]
Заголовок сообщения:  Re: Рабочая область окна

Цитата:
Другое дело, будет ли библиотека libGUI работать достаточно быстро и иметь не большой объем кода?


Для сравнения. Динамические библиотеки находятся в оперативной памяти компьютера в распакованном виде. Ассемблерная libGUI в распакованном виде имела размер 70 килобайт. Текущий вариант libGUI на C значительно мощнее и функциональней ассемблерного варианта и имеет размер в неупакованном виде 51 килобайт, а в упакованном виде 15 килобайт. И это при том, что я ещё не до конца провёл оптимизацию по размеру и скорости. А если ещё код скомпилировать не GCC, а MSVC, то он будет ещё меньше. Так что библиотеки на C не всегда большие и тормозные. Тормоза получаются, когда библиотеки работают через сеть других библиотек.

Давайте для начала подождём выхода библиотеки, а потом будем обсуждать.

Страница 2 из 2 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/