Документирование libinkview
Goto page 1, 2, 3, 4  Next
 
Libroom Forum IndexPocketBookPocketBook Free

Ваше отношение к созданию документации
Поддерживаю
71%
 71% [ 20 ]
Поддерживаю и готов учавствовать
21%
 21% [ 6 ]
Мне все равно
7%
 7% [ 2 ]
Total Votes : 28

AuthorMessage

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 06.11.2011 23:10    

Доброго времени суток!

Конференция лично для меня (повторяю, это только мое мнение) дала понять что покетбук в ближайшее время libinkview оставлять не собирается. Ну что-ж ... не такая уж и плохая это либа.

Идея документировать libinkview мелькала на конференции но так этот вопрос и не решился.

И меня появилась идея: задокументировать libinkview.h в формате doxygen (или аналог), чтобы из нее можно было бы получать html (или pdf) документацию по API и эта документация была бы всегда актуальной.

Очень надеюсь на содействие со стороны PB и независимых разработчиков! Ребята, это нужно всем! Я на inkview не новичек, но большинства функций и возможностей ее я не знаю.
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^

SSDTyphon
Бывалый участник форума

Бывалый участник форума



Joined: 08 Nov 2010
Posts: 110


Location: Киев

Posted: 06.11.2011 23:37    

Согласен. Хоть большинство функций самоописательные, но есть множество и не совсем понятных. С документацией стало бы намного удобней и проще.
Доксиген - ИМХО наилучший вариант.
_________________
PocketBook 301
PocketBook 903
 
View user's profile ^

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 06.11.2011 23:59    

SSDTyphon wrote:
Хоть большинство функций самоописательные


Да, имена функций конечно неплохие, но параметры не всегда понятные. Часто тип параметра - перечисление (enum), но он описан как int. И поди пойми какие возможны значения.

Примеров масса:

void QuickNavigator(int x, int y, int w, int h, int cx, int cy, int flags);
void DrawBitmapRect(int x, int y, int w, int h, ibitmap *b, int flags);
void StretchBitmap(int x, int y, int w, int h, const ibitmap *src, int flags);
ifont *OpenFont(const char *name, int size, int aa);

А сколько развелось функций обновления экрана?

И как можно понять непосвященным что делает например

void DynamicUpdate();
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^

Antuan
Член клуба The eBook

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11643


Location: Киев

Posted: 07.11.2011 00:07    

sergeyvl wrote:
И как можно понять непосвященным что делает например
void DynamicUpdate();

Я подозреваю, что это сделано для QT, т.е. метод обновления будет выбираться в зависимости от заполненности экрана, количества сделанных полных обновлений и т.д.
_________________
PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook.
 
View user's profile ^

garamGor
Бывалый участник форума

Бывалый участник форума



Joined: 02 Sep 2011
Posts: 137


Location: Украина, Донецк

Posted: 07.11.2011 00:18    

Я хоть и новичок, но готов помочь.
_________________
PB 902 (2.0.6->2.1.2а->2.0.6->2.1.0->2.0.6)
[FBReader180 v0.11.3, CR for PocketBook v0.0.6-2]
 
View user's profile ^

NetSpider
Искушенный участник форума

Искушенный участник форума



Joined: 15 Jun 2011
Posts: 55



Posted: 07.11.2011 11:38    

Antuan wrote:
sergeyvl wrote:
И как можно понять непосвященным что делает например
void DynamicUpdate();

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

Для qt никаких изменений в inkview не вносилось. Оно использует функции inkview так же как и простые приложения. Для вывода графики используются данные из указателя на структуру, который возвращает функция GetCanvas(). По идее qt можно и на старые книжки перенести, только там есть некоторые сложности с прямым выводом в фреймбуфер.
 
View user's profile ^

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 07.11.2011 11:53    

NetSpider wrote:
По идее qt можно и на старые книжки перенести, только там есть некоторые сложности с прямым выводом в фреймбуфер


И еще памяти маловато ... хотя простенькие программулины наверное пойдут.
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^

lunohod
Член клуба The eBook

Член клуба The eBook



Joined: 10 Jan 2007
Posts: 4283


Location: Stuttgart, Germany

Posted: 07.11.2011 12:45    

А зачем inkview, если можно напрямую с фреймбуфером работать?
_________________
V3, n516, PRS-505, iLiad, eSlick, Samsung E60, K3, K4NT, Onyx M90, PB 912, Kobo Mini
 
View user's profile ^

NetSpider
Искушенный участник форума

Искушенный участник форума



Joined: 15 Jun 2011
Posts: 55



Posted: 07.11.2011 12:53    

lunohod wrote:
А зачем inkview, если можно напрямую с фреймбуфером работать?


Потому что у каждого приложения свой фреймбуфер - так устроена многозадачность. И при переключении задач просто происходит переключение на определенный буфер приложения. Т.е. напрямую не получится.

Да и к тому же использование обычных функций inkview дает хоть какую-то гарантию, что qt будет дальше нормально работать, даже если что-то изменится в самой inkview или появится новое устройство.


Last edited by NetSpider on 07.11.2011 12:57; edited 1 time in total
 
View user's profile ^

lunohod
Член клуба The eBook

Член клуба The eBook



Joined: 10 Jan 2007
Posts: 4283


Location: Stuttgart, Germany

Posted: 07.11.2011 12:57    

Креативненько.
_________________
V3, n516, PRS-505, iLiad, eSlick, Samsung E60, K3, K4NT, Onyx M90, PB 912, Kobo Mini
 
View user's profile ^

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 07.11.2011 12:59    

lunohod wrote:
А зачем inkview, если можно напрямую с фреймбуфером работать?


Можно то оно конечно можно, но в inkview есть много фишечек, которые самому имплементить как-то не хочется. Один диалог редактирования конфигурации чего стоит. Менюшки там нормальные, содержание, графические функции какие-никакие присутствуют, ...

Новечку простенькую програмку налабать - самое оно!

Использовать же другой тулкит тоже проблематично.

1. Qt - возможно в будущем (покетбук начал его использовать);
2. WxWidgets - надо адаптировать;
3. gtk - для новичков - не выбор;
4. efl - тоже Smile

Может есть идеи?
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^

yuryfdr
Член клуба The eBook

Член клуба The eBook



Joined: 18 Jun 2009
Posts: 694



Posted: 07.11.2011 14:06    

sergeyvl wrote:
Новечку простенькую програмку налабать - самое оно!

Использовать же другой тулкит тоже проблематично.

1. Qt - возможно в будущем (покетбук начал его использовать);
2. WxWidgets - надо адаптировать;
3. gtk - для новичков - не выбор;
4. efl - тоже Smile

Может есть идеи?


идея, конечно неплохая, документировать inkview.h, да и функционал более-менее достаточен.

по поводу остального:
WxWidgets, по-моему сложноват.
Можно было бы Gtkmm, попробовать собрать поверх gtk+, (Плюсовая обёртка намного проще для понимания).
но в SDK хедеры пока отсутствует, а из сорсов на DirectFB затыкается (не хватает структур из inkinternal.h для обработки событий)
_________________
http://fedorchenko.net программы для PocketBook
 
View user's profile ^

SSDTyphon
Бывалый участник форума

Бывалый участник форума



Joined: 08 Nov 2010
Posts: 110


Location: Киев

Posted: 07.11.2011 14:18    

NetSpider wrote:
Потому что у каждого приложения свой фреймбуфер - так устроена многозадачность. И при переключении задач просто происходит переключение на определенный буфер приложения. Т.е. напрямую не получится.

А памяти не жалко? Почему нельзя писать сразу в экранный framebuffer? Или шла речь о том, что каждое приложение сперва рисует на своём "in memory bitmap" (по сути back buffer), а вывод в экранный организован где-то ниже в inkview?

Вопрос ещё какую часть Qt собираются использовать в PB? Удастся ли портировать QtGui?
Откровенно говоря, набросать интерфейс на Qt было бы быстрее и проще, на том же inkview.

sergeyvl wrote:
2. WxWidgets - надо адаптировать;

Не, лучше не надо Smile
_________________
PocketBook 301
PocketBook 903
 
View user's profile ^

NetSpider
Искушенный участник форума

Искушенный участник форума



Joined: 15 Jun 2011
Posts: 55



Posted: 07.11.2011 14:47    

SSDTyphon wrote:
каждое приложение сперва рисует на своём "in memory bitmap" (по сути back buffer), а вывод в экранный организован где-то ниже в inkview?

Да, почти так оно и есть.

SSDTyphon wrote:

Вопрос ещё какую часть Qt собираются использовать в PB? Удастся ли портировать QtGui?
Откровенно говоря, набросать интерфейс на Qt было бы быстрее и проще, на том же inkview.

На книжке уже есть qt 4.8.0 версии (только на устройствах с тачскрином). Портировано все, что возможно за исключением phonon. Судя по вашей подписи у вас 903 устройство. Если поставите себе 2.1.2RC, то увидите браузер, который работает на qt.
 
View user's profile ^

lunohod
Член клуба The eBook

Член клуба The eBook



Joined: 10 Jan 2007
Posts: 4283


Location: Stuttgart, Germany

Posted: 07.11.2011 14:54    

NetSpider

А в покетбуке не думали использовать более традиционные методы, те же иксы, например? Или qws.
_________________
V3, n516, PRS-505, iLiad, eSlick, Samsung E60, K3, K4NT, Onyx M90, PB 912, Kobo Mini
 
View user's profile ^

NetSpider
Искушенный участник форума

Искушенный участник форума



Joined: 15 Jun 2011
Posts: 55



Posted: 07.11.2011 15:01    

lunohod wrote:
NetSpider

А в покетбуке не думали использовать более традиционные методы, те же иксы, например? Или qws.


Вот этого я не знаю. Ну а по поводу qws так это придется весь софт переделывать и отказываться от inkview. Вряд ли там пойдут на такие трудозатраты, ведь времени все это займет прилично.
 
View user's profile ^

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 08.11.2011 22:41    

Ну 3 человека есть, Со мной - 4 Smile Остальные подтянутся, думаю можно начинать.

Просьба ко всем: в дальнейшем обсуждать в этом топике только документирование и не отвлекаться на посторонние темы.

1. Завтра вечером создам заготовочку документации и выложу на своем сайте.
2. Кроме того, свяжусь с Ключником, не помогут ли они нам в нашем деле (идеально было бы чтобы выделили консультанта из девелоперов);
3. Надо будет создать репозиторий (наверное на google code).
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 19.11.2011 18:35    

Выложил образец (как это будет выгладеть) на свой сайт:

http://pbsdk.vlasovsoft.net/html/inkview_8h.html

Пока что документированы только 2 функции:

PartialUpdate()
PartialUpdateBW()

В верхнем правом углу есть поиск. Можно будет быстро найти любой объект.

Создал проект на google code, добавил туда файлы. Можно начинать работать!

Кто хочет участвовать - регистрируйтесь на google code и присоединяйтесь к этому проекту. Для этого присылайте мне свой email-логин на google code и я бобавлю вас в группу разработчиков.

http://code.google.com/p/libinkviewdoc/

Сгенерировать документацию очень просто:
1. Клонируем себе проект;
2. doxygen doxygen.cfg
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^

morez
Продвинутый участник форума

Продвинутый участник форума



Joined: 08 Apr 2009
Posts: 93



Posted: 22.11.2011 16:33    

Пользуюсь этим http://donkey.vernier.se/~yann/pbapi/doc/html/inkview_8h.html
Но с описаниями там худо.
Полноценная документация будет полезна однозначно.
_________________
История открытых книг | Часы
 
View user's profile ^

sergeyvl
Член клуба The eBook

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1246


Location: Украина. Харьков

Posted: 23.11.2011 17:25    

morez wrote:
Пользуюсь этим http://donkey.vernier.se/~yann/pbapi/doc/html/inkview_8h.html
Но с описаниями там худо.
Полноценная документация будет полезна однозначно.


Да... Вот еще одно подтверждение. Вот я но наивности своей полагал что функция FlushEvents() должна немедленно обработать все ожидающие в очереди события (так следует из названия).

Ан нет...

Залил на меркуриал последние мои комментарии по секции "Event handling functions". Жду ваших отзывов.
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
View user's profile ^
Libroom Forum IndexPocketBookPocketBook FreeAll times are GMT + 4 Hours
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
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