Кроссплатформенные визуальные компоненты.
Модератор: Модераторы
Кроссплатформенные визуальные компоненты.
Привет lazarus-прогерам.
Вот настало время когда надо писать свой графический редактор. А раз графический то он должен иметь современный интерфейс. Иначе за "скучное лицо, тебе никто денег не даст".. А хотелось бы иметь еще донатики..А то будут использовать два три фаната и на этом все..
Что есть: под виндой есть куча продвинутых компонент, как пример DevExpress и другие, но все они работают из под Windows и написаны для Delphi.. Кроссплатформенные кнопки ждать от них не приходится..
Причина простая: если под винду одна оконно-графическая среда . То в линуксе их много.. А хотелось бы иметь обобщенный интерфейс на всех платформах.
В Blender-е все рисуют на OpenGL, поэтому интерфейс одинаковый везде...
Так почему не рисовать так же?
Правда придется все поведение элементов перевести из системного уровня в "пространство пользователя". Там эмулировать их действия, поведение.
Поведение - это сущность компонента, его поведение: кнопка - нажатие, текст - редактирование.
Список - это список элементов, их компоновка.. карта размещения..
Отображение - это графическое отображение элемента, его управление, фокус ввода и прочее..
В средах в которых будет прорисовка: BGRABitmap. планирую в OpenGL..
Сам я хочу в итоге получить такие элементы:
Вот настало время когда надо писать свой графический редактор. А раз графический то он должен иметь современный интерфейс. Иначе за "скучное лицо, тебе никто денег не даст".. А хотелось бы иметь еще донатики..А то будут использовать два три фаната и на этом все..
Что есть: под виндой есть куча продвинутых компонент, как пример DevExpress и другие, но все они работают из под Windows и написаны для Delphi.. Кроссплатформенные кнопки ждать от них не приходится..
Причина простая: если под винду одна оконно-графическая среда . То в линуксе их много.. А хотелось бы иметь обобщенный интерфейс на всех платформах.
В Blender-е все рисуют на OpenGL, поэтому интерфейс одинаковый везде...
Так почему не рисовать так же?
Правда придется все поведение элементов перевести из системного уровня в "пространство пользователя". Там эмулировать их действия, поведение.
Поведение - это сущность компонента, его поведение: кнопка - нажатие, текст - редактирование.
Список - это список элементов, их компоновка.. карта размещения..
Отображение - это графическое отображение элемента, его управление, фокус ввода и прочее..
В средах в которых будет прорисовка: BGRABitmap. планирую в OpenGL..
Сам я хочу в итоге получить такие элементы:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Кроссплатформенные визуальные компоненты.
Возьмите орпенглные компоненты из дельфы (VGScene, старенькие исходники в инете валяются) за образец, переработайте под лазарус, все.
Re: Кроссплатформенные визуальные компоненты.
Да, похоже..
Из минусов: Там лицензия коммерческая. И почему то нет под Linux.
Добавлено спустя 14 минут 18 секунд:
У меня цель: написать кроссплатформенное свое приложение и обогатить lazarus компонентами..
Лицензия свободная, думаю что MIT.
FireMonkey (FMX) — GUI-фреймворк, использующий возможности графического процессора. Является кроссплатформенным: поддерживаются Windows, Mac OS, Apple iOS и Android.
Под названием VG-Scene разрабатывалась Евгением Крюковым[1] из Улан-Удэ, Россия (компания KSDev) как вектор-базированная GUI-библиотека следующего поколения.[2]. В 2011 году американская компания Embarcadero Technologies купила права на библиотеку и включила её в состав своих продуктов. Позже Евгений Крюков получил работу в Embarcadero Technologies[3].
Из минусов: Там лицензия коммерческая. И почему то нет под Linux.
Добавлено спустя 14 минут 18 секунд:
У меня цель: написать кроссплатформенное свое приложение и обогатить lazarus компонентами..
Лицензия свободная, думаю что MIT.
-
Mirage
- энтузиаст
- Сообщения: 881
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
Re: Кроссплатформенные визуальные компоненты.
А fpGUI чем не устраивает?
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Re: Кроссплатформенные визуальные компоненты.
В Codetyphon изначально установлен хороший наследник VGScene - ORCA. Очень рекомендую. На бред некоторых насчет "пиратского кода" не стоит обращать внимания.
Re: Кроссплатформенные визуальные компоненты.
Mirage писал(а):А fpGUI чем не устраивает?
Оно GUIшное, подозреваю - на основне TWinControl. Да, у меня все элементы будут иметь потомки в виде TWinControl, чтобы их, как fpGUI, можно было размести на обычных TWinControl.
Но они же должны иметь "виртуальную среду".. где пользователь смог бы свободно перемещать их, соединять связями, и т.п. То есть,иметь "дизайн режим" в реалтайме..
Добавлено спустя 1 минуту 27 секунд:
Уже сделал TEdit, правда в черновике. Все норм. Но не могу разобраться с кареткой, со смещением текста во время введения его(если размер текста больше размера поля ввода - текст должен смещаться в влево, в тоже время можно было бы каретку переместить в влево в право, и если текст больше то он должен смешаться так чтобы каретка была видна всегда.), с выделением текста.
Приходится работать с UTF8Length,UTF8Copy,UTF8ToSys,UTF8Delete, bgra.TextSize. Нужна работа с мышью - вычисление позиции по клику и тп..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось olegy123 08.04.2017 07:44:44, всего редактировалось 1 раз.
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Re: Кроссплатформенные визуальные компоненты.
Меня, например, не устраивает отсутствие визуального редактора формы для него. После этого любые его достоинства мне не интересны.Mirage писал(а):А fpGUI чем не устраивает?
Re: Кроссплатформенные визуальные компоненты.
Снег Север писал(а):На бред некоторых насчет "пиратского кода" не стоит обращать внимания.
Не бред, я планирую выпустить этот редактор для продажи.
На моих глазах кошмарили одно предприятие за воровство графического элемента. По судам таскали, в итоге обязали выплатить в десятки раз больше чем они могли бы заказать выполнение.. Я считаю это правильно. Если бы так работали по софту - то прогеры получали бы з/п не хуже чем у остальных в мире..
Пишу на Lazarus по одной причине - пишу один. На нем проще написать сложные вещи при минимум человеко/часов.
Добавлено спустя 6 минут 4 секунды:
Снег Север писал(а):VGScene
Да, я раньше видел его.. На Delphi много интересного было сделано..
Скорее придется ровняться на него.
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Re: Кроссплатформенные визуальные компоненты.
При желании кошмарить можно за что угодно. Например, за "прямоугольник с закругленными краями". Не о том вы заботитесь...olegy123 писал(а):На моих глазах кошмарили одно предприятие за воровство графического элемента.
Добавлено спустя 3 минуты 8 секунд:
Вот - если вы закопаетесь в создание собственных элементов интерфейса, то когда дойдет дело до самого редактора и продаж? В коммерции время - деньги...olegy123 писал(а):я планирую выпустить этот редактор для продажи.
Re: Кроссплатформенные визуальные компоненты.
Снег Север писал(а):При желании кошмарить можно за что угодно. Например, за "прямоугольник с закругленными краями". Не о том вы заботитесь...
Несогласен. Вы когда начнете "руки мыть перед едой" - то заметете, что искать горшок в самых неподходящих моментах, как то само собой пропадет. Кошмарить в сильных странах - это тяжкий труд и высокооплачиваемый.. А там где принято применять читерство в судах - в реальных драках первыми умирают...
Снег Север писал(а):Вот - если вы закопаетесь в создание собственных элементов интерфейса, то когда дойдет дело до самого редактора и продаж? В коммерции время - деньги...
Ну у меня есть опыт создание своих визуальных компонентов.. которые потом в продакшине использовались.. Тут главное время, оно может сдвигаться.. Сейчас я наметил на конец мая/июнь.. пока делаю базовые вещи редактирование текста(числовых параметров), кнопки, чекбоксы..
Добавлено спустя 17 минут 1 секунду:
Сижу и думаю - нужно же делать свою систему сообщений..
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Re: Кроссплатформенные визуальные компоненты.
Дело ваше. Я, собственно, имел ввиду реальный патент США D670,286 от Apple на дизайн в форме прямоугольника с закругленными краями... Так что если за вас захотят взяться, то никакая "чистота кода" не спасет. Но с вероятностью 99.99% никто никогда не поинтересуется этим вопросом.olegy123 писал(а):Несогласен
Да я бы только приветствовал появление кроссплатформенных компонентов в духе Блендера. Тем более с открытым кодом. Так что желаю всяческих успехов!olegy123 писал(а):Ну у меня есть опыт
Re: Кроссплатформенные визуальные компоненты.
MSEide+MSEgui?
https://sourceforge.net/projects/mseide-msegui/
https://gitlab.com/mseide-msegui/mseide-msegui
http://wiki.freepascal.org/MSEide_%26_MSEgui
http://wiki.freepascal.org/Reference:_MSEgui
It has excellent skinning capabilities, see TWidget.Frame, TWidget.Face, TFrameComp, TFaceComp, TFacelist, TSkinController...
An application made with MSEide+MSEgui:
http://zenway.ru/page/xelplayer
MSEide+MSEgui version 4.4.2 has just been released:
https://sourceforge.net/projects/mseide ... gui/4.4.2/
https://sourceforge.net/projects/mseide-msegui/
https://gitlab.com/mseide-msegui/mseide-msegui
http://wiki.freepascal.org/MSEide_%26_MSEgui
http://wiki.freepascal.org/Reference:_MSEgui
It has excellent skinning capabilities, see TWidget.Frame, TWidget.Face, TFrameComp, TFaceComp, TFacelist, TSkinController...
An application made with MSEide+MSEgui:
http://zenway.ru/page/xelplayer
MSEide+MSEgui version 4.4.2 has just been released:
https://sourceforge.net/projects/mseide ... gui/4.4.2/
-
Mirage
- энтузиаст
- Сообщения: 881
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
Re: Кроссплатформенные визуальные компоненты.
olegy123 писал(а):Оно GUIшное, подозреваю - на основне TWinControl.
В смысле? Какой TWinControl, все кроссплатформенно и самостоятельно рисуемое, без контролов ОС.
Просто самому это делать только кажется что просто, а на самом деле можно и год потратить. Ну если нормально делать. А если не нормально, то никто пользоваться таким UI не будет.
Снег Север писал(а):Меня, например, не устраивает отсутствие визуального редактора формы для него.
https://sourceforge.net/projects/fpgui/
Also included: help viewer, visual form designer.
Просто тут дизайнер форм отдельный, не встроенный в IDE, что имеет свои плюсы.
И да, MSE тоже отличная штука.
