Документирование libinkview
Goto page 1, 2, 3, 4  Next
 
View unanswered posts
Post new topic   Reply to topic    The-eBook Forum Index -> PocketBook -> PocketBook Free
 

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

Author Message

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 06.11.2011 23:10     Quote

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

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

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

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

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

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

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



Joined: 08 Nov 2010
Posts: 110


Location: Киев

PostPosted: 06.11.2011 23:37     Quote

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

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 06.11.2011 23:59     Quote

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 Send private message E-mail Skype ICQ ^

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

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11606


Location: Киев

PostPosted: 07.11.2011 00:07     Quote

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 Send private message ^

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

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



Joined: 02 Sep 2011
Posts: 137


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

PostPosted: 07.11.2011 00:18     Quote

Я хоть и новичок, но готов помочь.
_________________
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 Send private message ^

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

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



Joined: 15 Jun 2011
Posts: 55



PostPosted: 07.11.2011 11:38     Quote

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

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

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

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 07.11.2011 11:53     Quote

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


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

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

Член клуба The eBook



Joined: 10 Jan 2007
Posts: 4284


Location: Stuttgart, Germany

PostPosted: 07.11.2011 12:45     Quote

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

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

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



Joined: 15 Jun 2011
Posts: 55



PostPosted: 07.11.2011 12:53     Quote

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 Send private message ^

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

Член клуба The eBook



Joined: 10 Jan 2007
Posts: 4284


Location: Stuttgart, Germany

PostPosted: 07.11.2011 12:57     Quote

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

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 07.11.2011 12:59     Quote

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


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

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

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

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

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

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

Член клуба The eBook



Joined: 18 Jun 2009
Posts: 694



PostPosted: 07.11.2011 14:06     Quote

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 Send private message ^

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

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



Joined: 08 Nov 2010
Posts: 110


Location: Киев

PostPosted: 07.11.2011 14:18     Quote

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 Send private message ^

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

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



Joined: 15 Jun 2011
Posts: 55



PostPosted: 07.11.2011 14:47     Quote

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 Send private message ^

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

Член клуба The eBook



Joined: 10 Jan 2007
Posts: 4284


Location: Stuttgart, Germany

PostPosted: 07.11.2011 14:54     Quote

NetSpider

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

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

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



Joined: 15 Jun 2011
Posts: 55



PostPosted: 07.11.2011 15:01     Quote

lunohod wrote:
NetSpider

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


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

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 08.11.2011 22:41     Quote

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

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

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

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 19.11.2011 18:35     Quote

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

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 Send private message E-mail Skype ICQ ^

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

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



Joined: 08 Apr 2009
Posts: 93



PostPosted: 22.11.2011 16:33     Quote

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

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

Член клуба The eBook



Joined: 12 Nov 2010
Posts: 1240


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

PostPosted: 23.11.2011 17:25     Quote

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 Send private message E-mail Skype ICQ ^
Display posts from previous:   
Post new topic   Reply to topic    The-eBook Forum Index -> PocketBook -> PocketBook Free All 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

© The-eBook, 1999-2014. © Design by Prohorenkov
Syndicating News | Powered by phpBB © 2001, 2005 phpBB Group.
Хостинг предоставлен компанией DatForce     Яндекс.Метрика