Jump to content

    

Графика для Linux.

Так без goto жизни нет вообще :) Особенно в kernel'е.

 

Сам сейчас занят аналогичной проблемой - созданием GUI. После долгих размышлений пришел к выводу, что нужно писать все самому.

 

Я бы не был настолько категоричен. Все-таки рисование графических примитивов и работу с рисунками (хотя бы .bmp) работу со шрифтами (желательно UTF-8 .ttf) проще использовать готовые. Так же как и каркас обработчика событий.

Share this post


Link to post
Share on other sites

Работа с .bmp пишется и отлаживается за день. Использование .ttf во встраиваемых приложениях представляется сомнительным - растровые шрифты получаются компактнее и быстрее.

 

А всякие хитрые виджеты все равно приходится делать свои.

Share this post


Link to post
Share on other sites

Долго мучался со вводом с клавиатуры, а все оказалось очень просто:

 

Для FLTK нужны скан-коды, а у меня nano-X был скомпилен с драйвером tty, который всегда возвращает из функции TTY_Read() *scancode = 0. Пересобрал nano-X с драйвером tty-scan, и ввод заработал!

К сожелению драйвер pipe (kbd_pipe.c), который я использую на девайсе тоже не возвращает скан-код, надо будет что-то с ним делать.

Share this post


Link to post
Share on other sites

Решил посмотреть, как в FLTK 1.1.x поддержка многопоточности сделана так же, как в microwindows - никак. Только в 2.0 появилась. Предлагается синхронизировать через за файл - пайп или сокет.

2.0 на DirectFB не портирован, а под nano-X подозреваю, тормозить будет сильно.

Кто-нибудь сравнивал, насколько FLTK на nano-X тормознее microwindows приложения?

Share this post


Link to post
Share on other sites

Избавился от бордюра окна в FLTK+nano-X!

Запускал:

nano-X& nanowm& myApp

Оказывается, надо запускать без nanowm:

nano-X& myApp

 

Откуда FLTK берет шрифты? Как установить кодировку lable-ов?

Share this post


Link to post
Share on other sites
/etc/fonts/fonts.conf

 

Это на стандартной Х11, наверное. На нано-Х этим занимается нано-Х. У нее там в исходниках прописана пара директориев. Важно, чтобы файл с описанием шрифтов там был. Приду на работу, гляну что и куда я там ставил.

Share this post


Link to post
Share on other sites

Вопрос знатокам.

Посмотрел wxFormBuilder и сижу в недоумении.

Почему-то не работает размещение контролов по x,y (pos X,Y).

Это так задумано или только у меня не работает?

Если так и задумано, как это можно исправить до вменяемого человеческого варианта (типа VS), существует ли патч?

Потому, как сделать более менее сложный интерфейс не получается.

 

-

Share this post


Link to post
Share on other sites

Встроил в x86 с 24 Мб памяти и 300 МГц Qt Embedded 4.4.2. Все работает нормально. Только возникла проблема уменьшения времени запуска. Основной вес в статически слинкованном Qt приложении( 8 М ). Есть хороший паковщик исп. файлов UPX, только что-то для моего многопоточного прил. не подходит - при запуске сегментация и т.д. Хотел уменьшить за счет отключения фич в библиотеке с пом. qconfig, так она не компилится, говорит, что чего-то там не найдено. Пришлось отключать ненужное с пом. configure((

Как уменьшить еще размер Qt приложения?

Share this post


Link to post
Share on other sites
Основной вес в статически слинкованном Qt приложении( 8 М ). Есть хороший паковщик исп. файлов UPX, только что-то для моего многопоточного прил. не подходит - при запуске сегментация и т.д. Хотел уменьшить за счет отключения фич в библиотеке с пом. qconfig, так она не компилится, говорит, что чего-то там не найдено. Пришлось отключать ненужное с пом. configure((

Как уменьшить еще размер Qt приложения?

 

Восемь мегабайт - это целый монстр. Паковать ничего не нужно. В принципе, в инете есть достаточно рабочих рецептов, например здесь http://www.prog.org.ru/index.php?topic=3974.msg17516 Единственная проблема, с которой сталкивался - это время потраченное на эксперименты. Троллтехи готовых рецептов не дают, даже по подписке т.к. обычно с выхоодм новой версии заново приходится экспериментировать.

Share this post


Link to post
Share on other sites

При попытке портировать проект с использованием microwindows WIN32 API с arm-linux на blackfin-uClinux первое разочарование: На uClinux framebuffer, похоже, одновременно может работать только одно microwindows WIN32 API приложение - второе не может открыть framebuffer. Это связано с ограничением uClinux - не поддерживается вызов mmap(MAP_SHARED, PROT_WRITE, file). Вместо него используется mmap(MAP_PRIVATE, PROT_WRITE, file) для отображения framebuffer в память.

Наверное, переписывание под FLTK/nano-X решит проблему - там вроде все приложения используют один nano-X сервер, а значит и framebuffer открывается только один раз.

Share this post


Link to post
Share on other sites

Давно уже не секрет что Qt почти год назад вышел под хорошей для всех лицензией - под LGPL. Никому ничего платить давно уже не надо. Интересует то, как этот факт повлиял на выбор средства реализации GUI автора темы и не только :)

Share this post


Link to post
Share on other sites

http://www.antigrain.com/

есть виджеты (кнопки, метки и т.д). Работает на фрейм-буфер. Не помню,как обстоят дела с directfb но видимо никак

Я проводил сравнительные тесты cairo и agg при портировании Flash-плеера на SH4 (STi710x). По моим наблюдениям, cairo сильно проигрывает в скорости отрисовки. Так-же размер у AGG существенно меньше. По функционалу конечно не Qt, но для встраиваемых систем - самое то что нужно. Присутствует в репозитариях дебиана и убунту

Share this post


Link to post
Share on other sites

У меня вопросик, близкий по теме поэтому отдельную заводить не стал.

 

Надо на встроенной десктопной Убунте выводить на весь экран ту или иную картинку, формат картинки не принципиален (jpeg, bmp...) Скорость вывода картинки на экран не критична.

Ради такой фигни тащить на борду какой-нибудь GTK наверное нет смысла. Как это можно сделать попроще, желательно без задействования всяких сторонних пакетов, которые надо будет потом еще и кросскомпилировать (нативной компиляцией не пользуюсь) ?

 

Спасибо.

Share this post


Link to post
Share on other sites
Надо на встроенной десктопной Убунте выводить на весь экран ту или иную картинку, формат картинки не принципиален (jpeg, bmp...) Скорость вывода картинки на экран не критична.

Ради такой фигни тащить на борду какой-нибудь GTK наверное нет смысла.

Какая именно у вас разновидность убунты? Потому что в той же десктопной Lubuntu, что предлагают на dl.cubieboard.org, «какой-нибудь GTK» уже есть:

➜  usr  find ./ -name 'libgtk*' -type f
./lib/arm-linux-gnueabihf/libgtk-3.so.0.600.0
./lib/arm-linux-gnueabihf/libgtk-x11-2.0.so.0.2400.13

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this