Russian Qt Forum

Qt => Кладовая готовых решений => Тема начата: _govorilka от Январь 19, 2011, 12:26



Название: Библиотека Fireworks
Отправлено: _govorilka от Январь 19, 2011, 12:26
Начал работу над LGPL проектом. Репозиторий тут:
http://code.google.com/p/fireworks/ (http://code.google.com/p/fireworks/)

Предложение в описание не удачное, тут полностью согласен. Но описание можно легко поменять. Цель проекта: создать библиотеку, с помощью которой легко можно было создавать интерфейсы, наподобие тех, что лежат в примерах к QML. Основное условие, это то, что библиотека не должна зависеть от QtGui.

Сейчас в репозитории лежит два файла fwml.h и fwml.cpp. Это практически работоспособный парсер JSON (не хватает только специальных символов внутри строк). Пример использования класса, есть в репозитории, в папке "examples". Есть задумка сделать из него парсер языка похожего на QML.

Если кому-то интересна это тема, пишите... Буду рад выслушать любые предложения и замечания.


Название: Re: Библиотека Fireworks
Отправлено: pastor от Январь 19, 2011, 16:22
Несовсем понятно зачем создавать еще один QML?. Хотелось бы услышать подробности


Название: Re: Библиотека Fireworks
Отправлено: _govorilka от Январь 20, 2011, 08:45
Несовсем понятно зачем создавать еще один QML?. Хотелось бы услышать подробности

1. QML полностью завязан на QGraphicsView. QDeclarativeItem унаследован от QGraphicsItem... QML - это замена QDesigner, я использую FwML сейчас в качестве замены XML-RPC.

2. Для не стандартного интерфейса с кучей анимации, очень важна скорость отрисовки. Особено критичным это становится, на "встроенных" системах, где ресурсов в разы беднее, чем на "большом" компе. В проекте, над которым работаю, для отрисовки использую DirectFB... Сделать так, чтобы Qt рисовала текст функциями самого DirectFB без внесения существенных измений в код библиотеки просто не возможно. На x86 под Windows для рендеринга используем Direct3D, и тут у Qt тоже глухо. 

3. Для рендеринга в своём проекте сделали отдельный класс Render с абстрактными функциями типа drawRect, drawLine, drawText. В Qt есть абстрактный класс QPaintEngine, но класса QAbstractFont нет. Решить некоторые из подобных проблем должен проект Lighthouse, но он живет в лаборатории и когда станет частью "официального" Qt, пока не понятно.



Название: Re: Библиотека Fireworks
Отправлено: _govorilka от Январь 24, 2011, 09:41
Выложил первые наброски. В исходниках есть пример: http://code.google.com/p/fireworks/source/browse/#hg%2Fexamples%2Ffwplayer (http://code.google.com/p/fireworks/source/browse/#hg%2Fexamples%2Ffwplayer), рисует на экран прямоугольник  :),  параметры задаются в файле: http://code.google.com/p/fireworks/source/browse/bin/example.fwml (http://code.google.com/p/fireworks/source/browse/bin/example.fwml).


Название: Re: Библиотека Fireworks
Отправлено: Racheengel от Март 21, 2011, 01:46
может есть смысл в виде зипа на qt-apps.org выложить? не у всех меркуриал стоит, многим будет влом ставить чисто чтоб исходники скомпилить...


Название: Re: Библиотека Fireworks
Отправлено: _govorilka от Март 21, 2011, 07:32
может есть смысл в виде зипа на qt-apps.org выложить? не у всех меркуриал стоит, многим будет влом ставить чисто чтоб исходники скомпилить...
Я думал об этом. Даже задачу соответствующую добавил три недели назад еще:
http://code.google.com/p/fireworks/issues/detail?id=3 (http://code.google.com/p/fireworks/issues/detail?id=3),
но всё никак... Толи времени ни хватает, толи лень человеческая ни даёт.

На qt-apps.org думаю стоит выложить что-то более-менее осмысленное, сейчас у меня есть пока только наброски.

UPD: Добавил архив с исходным кодом на code.google.com