libGUI

Discussing libraries simplifying applications development
  • andrew_programmer
    Хорошая вещь, надо будет запихнуть в KFM.
  • Еще один закос под ХРюшу?
  • Все элементы генерируются МАТЕМАТИЧЕСКИ !
    Я посмотрел как сделано в XP - слишком мудрёно.
    Посмотрел как сделано в Linux - довольно просто и понятно.За основу я взял идею из LINUX ,а не XP.Плюс ещё добавил свои идеи.Делал,что называется,на глаз.Изменял под свои идеи.

    Запустите в XP экранную лупу и сравните элементы XP и мои - общего мало.
  • Однако размерчик демок без сжатия впечатляет: 460 kb. И это только демки...
    PS: Не знаю как под экранной лупой, но тот скриншот, что ты привел - один в один ХР.
  • >PS: Не знаю как под экранной лупой, но тот скриншот, что ты привел - один в один ХР.

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


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

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

    Picture:
    file 'abc.raw'

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

    Размер скомпилированной DLL 42 килобайта.Но после сжатия упаковщиком(не путать с архиватором) она занимает 6 килобайт, что на 1 килобайт больше сжатой консоли.
  • В исходники я не лазил пока, потому пишу только то, что вижу снаружи. ;) Dll можно паковать и kpack-ом, тогда она занимает 4,78 килобайт. А похожесть на ХР заключается еще и в черточках на полосах прокрутки и во внешнем виде кнопок со стрелками... Копия просто ;). Опять таки в алгоритм я не лазил. Кстати, кнопки со стрелками не работают в примерах.
  • Интересно, а что плохого в похожести на ХРюшку. Дизаин дизаином, но по теории юзабилити знакомое наоборот удобнее. Причем скроллеры в ХР не самые плохие. Молодец, andrew_programmer, сегодня посмотреть код и примеры в действии не смогу, уезжаю сейчас, а в понедельник гляну.
  • > Кстати, кнопки со стрелками не работают в примерах.

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

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

    Я про него и говорил.Только похоже с размером ошибся.
  • > А похожесть на ХР заключается еще и в черточках.

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

    Вообще попробуйте запускать демку с разными скинами в системе.Похожесть на XP будет меньше.
  • Heavyiron
    Почему ты решил, что стиль похожий на XP это плохо? В KDE аж 3 стиля основанных на виндах - и что это повод на них поругаться?
    Никто ведь не заставляет тебя использовать эту вещь, не нравиться не используй или напиши свое.
  • но по теории юзабилити знакомое наоборот удобнее
    Кому знакомое, а кому и приедается везде одно и то же ;) Хотя это ИМХО.
    А так хотел сказать, что начинание хорошее: отсутствие стандартных gui-компонентов сдерживает развитие многих программ.
  • andrew_programmer
    Заметил некоторые глюки:
    1) В демках не работают горизонтальные скроллеры.
    2) Обе демки невозможно перемещать по экрану.
    3) Обе демки не хотят нормально завершиться и подвешивают Тинипад, который их скомпилировал и запустил.
    Также неплохо бы разбить библиотеку на отдельные компоненты и чтобы не используемое отсутствовало.
  • 1) Это не глюк.Я хотел сделать и горизонтальную прокрутку,но почему-то у меня не получилось(хотя я уже реализовывал этот алгоритм в ANIMAGE ).Поэтоу в названии файла присутствует слово "vertical".Может дело в том, что я писал это в 3-ем часу ночи.

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

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

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

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

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

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

    Users browsing this forum: No registered users and 3 guests