Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт ноя 23, 2017 3:06 am

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




Начать новую тему  Ответить на тему  [ 240 сообщений ]  На страницу 1 2 3 4 516 След.
Автор Сообщение
 Заголовок сообщения: libGUI
СообщениеДобавлено: Пт фев 09, 2007 2:26 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Я занимаюсь разработкой стандартной библиотеки GUI для KolibriOS.
В результате упорного программирования в течении семи дней я написал два GUI компонента.Это кнопки и скролеры.
Все компоненты могут отображаться в 2-х видах - 2D и 3D.
2D компоненты представляют из себя плоские GUI компоненты.
3D - это объёмные компоненты с красивыми градиентными заливками.
Цвет GUI компонентов зависит от скина.
Наример вот так выглядят 3D компоненты со скином Metal.skn:
http://www.menuetosgame.narod.ru/programs/libGUI_3D.PNG

А вот сама библиотека libGUI с демо-программами.
http://www.menuetosgame.narod.ru/programs/libGUI.7z
При компиляции программ не забудьте прописать путь к DLL-ке в исходниках(путь сделан для моего компьютера).

Хотелось бы ещё и меню сделать,но не знаю,хватит ли у меня на это времени(но всётаки постараюсь).

Высказывайтесь.Может что-то надо изменить,переделать.

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 8:10 am 
andrew_programmer
Хорошая вещь, надо будет запихнуть в KFM.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 12:10 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт янв 27, 2006 3:06 pm
Сообщения: 1069
Еще один закос под ХРюшу?


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 12:18 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Все элементы генерируются МАТЕМАТИЧЕСКИ !
Я посмотрел как сделано в XP - слишком мудрёно.
Посмотрел как сделано в Linux - довольно просто и понятно.За основу я взял идею из LINUX ,а не XP.Плюс ещё добавил свои идеи.Делал,что называется,на глаз.Изменял под свои идеи.

Запустите в XP экранную лупу и сравните элементы XP и мои - общего мало.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 12:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт янв 27, 2006 3:06 pm
Сообщения: 1069
Однако размерчик демок без сжатия впечатляет: 460 kb. И это только демки...
PS: Не знаю как под экранной лупой, но тот скриншот, что ты привел - один в один ХР.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 1:05 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
>PS: Не знаю как под экранной лупой, но тот скриншот, что ты привел - один в один ХР.

В LINUX градиентная заливка начинается с серых тонов и заканчивается белыми, только поэтому они не смахивают на XP.
А у меня градиентная заливка начинается с цвета скина и заканчивается белым.Этот маленький нюанс и дедает похожесть на XP.В остальном алгоритм рисования объёмного прямоугольника во всех ОС ОДИНАКОВ.Разница только в цвете градиентной заливки ,в антианализинге и некоторых мелочах дизайна.


>Однако размерчик демок без сжатия впечатляет: 460 kb. И это только демки...

Я думал ты разбираешься в ассемблере.
В коде есть строка:

Picture:
file 'abc.raw'

abc.raw - это скролируемая картинка,которая подключается к коду программы, увеличивая его размер на 99%.
Размер примера без этой картинки 1.5 килобайта.

Размер скомпилированной DLL 42 килобайта.Но после сжатия упаковщиком(не путать с архиватором) она занимает 6 килобайт, что на 1 килобайт больше сжатой консоли.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 1:44 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт янв 27, 2006 3:06 pm
Сообщения: 1069
В исходники я не лазил пока, потому пишу только то, что вижу снаружи. ;) Dll можно паковать и kpack-ом, тогда она занимает 4,78 килобайт. А похожесть на ХР заключается еще и в черточках на полосах прокрутки и во внешнем виде кнопок со стрелками... Копия просто ;). Опять таки в алгоритм я не лазил. Кстати, кнопки со стрелками не работают в примерах.


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

Зарегистрирован: Ср июл 05, 2006 9:00 am
Сообщения: 81
Интересно, а что плохого в похожести на ХРюшку. Дизаин дизаином, но по теории юзабилити знакомое наоборот удобнее. Причем скроллеры в ХР не самые плохие. Молодец, andrew_programmer, сегодня посмотреть код и примеры в действии не смогу, уезжаю сейчас, а в понедельник гляну.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 2:45 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
> Кстати, кнопки со стрелками не работают в примерах.

Правильно,не работают.Я их не сделал.Пока надобности в кнопках для скролеров - нет(пока и без них сойдёт).
Мне меню нужнее.

> Dll можно паковать и kpack-ом, тогда она занимает 4,78 килобайт.

Я про него и говорил.Только похоже с размером ошибся.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 2:51 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
> А похожесть на ХР заключается еще и в черточках.

Можно было сделать как в Linux - рельефные точки.Но это увеличило бы число системных вызовов в несколько раз,что нагружает процессор.

Вообще попробуйте запускать демку с разными скинами в системе.Похожесть на XP будет меньше.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 09, 2007 3:15 pm 
Heavyiron
Почему ты решил, что стиль похожий на XP это плохо? В KDE аж 3 стиля основанных на виндах - и что это повод на них поругаться?
Никто ведь не заставляет тебя использовать эту вещь, не нравиться не используй или напиши свое.


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

Зарегистрирован: Пт янв 27, 2006 3:06 pm
Сообщения: 1069
Цитата:
но по теории юзабилити знакомое наоборот удобнее

Кому знакомое, а кому и приедается везде одно и то же ;) Хотя это ИМХО.
А так хотел сказать, что начинание хорошее: отсутствие стандартных gui-компонентов сдерживает развитие многих программ.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 12, 2007 10:57 pm 
andrew_programmer
Заметил некоторые глюки:
1) В демках не работают горизонтальные скроллеры.
2) Обе демки невозможно перемещать по экрану.
3) Обе демки не хотят нормально завершиться и подвешивают Тинипад, который их скомпилировал и запустил.
Также неплохо бы разбить библиотеку на отдельные компоненты и чтобы не используемое отсутствовало.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 12, 2007 11:51 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
1) Это не глюк.Я хотел сделать и горизонтальную прокрутку,но почему-то у меня не получилось(хотя я уже реализовывал этот алгоритм в ANIMAGE ).Поэтоу в названии файла присутствует слово "vertical".Может дело в том, что я писал это в 3-ем часу ночи.

2)Невозможно перемещать,потомучто окна неперемещаемые.Главный смысл демки в том, чтобы было понятно как пользоваться компонентами программисту.

3)Наконец-то нашёлся ещё один человек,наблюдающий те-же глюки,что и я уже давно наблюдаю.
Это не вина демок.Это вина: то-ли Колибри-FASM-а, то-ли ошибка в работе файловой системы(что мало вероятно), то-ли ещё что-то.

Когда diamond пофиксил этот баг,то я думал что простился с ним навсегда.Запущенные из Тинипад-а программы действительно перестали намертво вешать систему.Теперь они вешают только Тинипад.Причём это происходит не совсеми программами,а только с некоторыми(в числе которых и мои демки).

>Также неплохо бы разбить библиотеку на отдельные компоненты и чтобы не используемое отсутствовало.

Тоесть,чтобы не грузить в память всю DLL, а грузить DLL-ки с отдельными компонентами ?

Единственный выигрыш,который будет получен - это экономия оперативной памяти на 2-10 килобайт(в будущем до 50-ти килобайт).А вот на дискете эти маленькие DLL-ки займут лишние секторы.
К тому-же некоторые компоненты используют общие процедуры(например градиентные заливки).Это приведёт к дублированию части кода в DLL-ах с разными компонентами,что увеличит размер каждой из них на 1-3 килобайта.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 13, 2007 8:07 am 
andrew_programmer
Цитата:
Единственный выигрыш,который будет получен - это экономия оперативной памяти на 2-10 килобайт(в будущем до 50-ти килобайт).А вот на дискете эти маленькие DLL-ки займут лишние секторы.

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


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

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


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

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


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

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