Author | Message |
---|
sergeyvl Член клуба The eBook
Joined: 12 Nov 2010 Posts: 1246
Location: Украина. Харьков
| Posted: 15.01.2011 01:57 | |
| Добрый день. Собственно сабж. Вот хочу попробовать портировать свою программу в OI. Азбуки пока у меня нет, так что экспериментировать буду на десктопе. Добрые люди подсказали что на OI используется EFL. Поставил себе из исходников такие либы: eet,embrio,ecore,edjle,evas,eina. Простенький примерчик на отрисовочку в окошке векторных объектов заработал:
Code: | //We set some window attributes and make the wrapper visible ecore_evas_title_set(ecore_evas, "Example Application"); ecore_evas_name_class_set(ecore_evas, "testapp", "Testapp"); ecore_evas_show(ecore_evas);
//Get the pointer to the canvas and add tan object evas = ecore_evas_get(ecore_evas); bg = evas_object_rectangle_add(evas); evas_object_color_set(bg, 255, 255, 255, 255); // white bg evas_object_move(bg, 100, 100); // at origin evas_object_resize(bg, 100, 100); // covers full canvas evas_object_show(bg);
r2 = evas_object_rectangle_add(evas); evas_object_color_set(r2, 0, 128, 0, 128); // 50% opaque green evas_object_move(r2, 150, 150); evas_object_resize(r2, 100, 100); evas_object_show(r2);
//Starting the main application loop ecore_main_loop_begin();
|
но не совсем понятно, куда дальше двигаться. Вот собственно что мне нужно: 1. Отображение на екране выпадающего меню по нажатию кнопки и обработка событий с этим меню связанных; 2. Рисование на екране текста выбранным шрифтом; 3. Рисование на экране линий; 4. Обработка клавиш.
Подскажите пожалуйста с какую сторону двигаться и какая библиотека в OI отвечает за указанную функциональность.
Last edited by sergeyvl on 15.01.2011 19:24; edited 1 time in total |
| | | lunohod Член клуба The eBook
Joined: 10 Jan 2007 Posts: 4283
Location: Stuttgart, Germany
| Posted: 15.01.2011 03:28 | |
| Надо использовать библиотеку libeoi: http://git.openinkpot.org/libeoi.git/ Там есть и средства обработки кнопок и echocebox (типа list widget). Вот, например, простое приложение: http://git.openinkpot.org/language-selector.git/tree/src/language-sele ctor.c
Для 2. и 3. стоит ознакомиться с edje. Вот пример другого простого приложения: http://git.openinkpot.org/emessage.git/tree/themes/emessage.edc , http://git.openinkpot.org/emessage.git/tree/src/emessage.c
Также можно создать evas_object_image и получить из него указатель на буфер с пикселами и рисовать туда руками.
Для разработки советую воспользоваться удобной штукой http://openinkpot.org/wiki/Documentation/BuildEnvironmentJhbuild _________________ V3, n516, PRS-505, iLiad, eSlick, Samsung E60, K3, K4NT, Onyx M90, PB 912, Kobo Mini |
| | | sergeyvl Член клуба The eBook
Joined: 12 Nov 2010 Posts: 1246
Location: Украина. Харьков
| Posted: 15.01.2011 11:37 | |
| lunohod, Спасибо за полезную информацию! Без твоей помощи я бы наверное долго курил бы в c этими вещами.
Начал со сборки окружения с jhbuild. Тут возникло несколько проблем:
Code: | ./jhbuild build libeoi |
1. По умолчанию он хочет ставить все в /opt/gnome. Так как запускаюсь не из под рута, то он выдает ошибку. Исправил в defaults.jhbuildrc -> prefix = '/home/serg/Development/OI'
2. При установке некоторых зависимостей возникали проблемы - пришлось доставлять libxcb-xxx-dev в убунте руками. Там их около 20. Точно не знал какие нужны - поставил все.
В общем libeoi поставил, скомпилировал и тестовый примерчик со списочком языков. Запустил его, но вот засада:
Изображение очень искажено. По высоте - занимает почти все окно. Но по ширине - только его треть. Очень сжато по оси X. То же самое - увидел когда поставил epuzzles.
Help! |
| | | sergeyvl Член клуба The eBook
Joined: 12 Nov 2010 Posts: 1246
Location: Украина. Харьков
| Posted: 27.01.2011 19:56 | |
| Quote: | Изображение очень искажено. По высоте - занимает почти все окно. Но по ширине - только его треть. Очень сжато по оси X. То же самое - увидел когда поставил epuzzles.
|
Я застрял на этом. Идей никаких нет. Вероятно дело в libeoi. Копаться в ее недрах щас времени особо нету. Если кто знает, помогите! _________________ Шахматы - PocketBook,Kindle,Onyx,Kobo,Android |
| | | lunohod Член клуба The eBook
Joined: 10 Jan 2007 Posts: 4283
Location: Stuttgart, Germany
| Posted: 27.01.2011 20:20 | |
| sergeyvl
Запусти Xephyr :
Xephyr :1 -noxv -nodri -ac -screen 600x800 -grayscale -dpi 200 -noreset -cc 0x22
А потом при старте гуёвых приложений указывай DISPLAY=:1 _________________ V3, n516, PRS-505, iLiad, eSlick, Samsung E60, K3, K4NT, Onyx M90, PB 912, Kobo Mini |
| | | sergeyvl Член клуба The eBook
Joined: 12 Nov 2010 Posts: 1246
Location: Украина. Харьков
| Posted: 27.01.2011 22:12 | |
| lunohod
Большое тебе человеческое спасибо! Заработало.
Запустил epuzzles. Курсорные клавиши работают. Но вот странно, в некоторых играх клавиша "вниз" не работает. Пишет на консоль "No key for Down". (Например Solo, Slant, ...). Буду попутно с этим разбираться. |
| | |
| You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
© Libroom, 2021
|