Документирование libinkview
На страницу 1, 2, 3, 4  След.
 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов The-eBook -> PocketBook -> PocketBook Free
 

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

Автор Сообщение

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 06.11.2011 23:10     Цитата

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

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

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

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

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

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

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



Зарегистрирован: 08.11.2010
Сообщения: 110


Откуда: Киев

СообщениеДобавлено: 06.11.2011 23:37     Цитата

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

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 06.11.2011 23:59     Цитата

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


Да, имена функций конечно неплохие, но параметры не всегда понятные. Часто тип параметра - перечисление (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
 
Профиль Сообщение E-mail Skype ICQ ^

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

Член клуба The eBook



Зарегистрирован: 30.09.2009
Сообщения: 11610


Откуда: Киев

СообщениеДобавлено: 07.11.2011 00:07     Цитата

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

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

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

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



Зарегистрирован: 02.09.2011
Сообщения: 137


Откуда: Украина, Донецк

СообщениеДобавлено: 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]
 
Профиль Сообщение ^

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

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



Зарегистрирован: 15.06.2011
Сообщения: 55



СообщениеДобавлено: 07.11.2011 11:38     Цитата

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

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

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

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 07.11.2011 11:53     Цитата

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


И еще памяти маловато ... хотя простенькие программулины наверное пойдут.
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
Профиль Сообщение E-mail Skype ICQ ^

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

Член клуба The eBook



Зарегистрирован: 10.01.2007
Сообщения: 4284


Откуда: Stuttgart, Germany

СообщениеДобавлено: 07.11.2011 12:45     Цитата

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

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

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



Зарегистрирован: 15.06.2011
Сообщения: 55



СообщениеДобавлено: 07.11.2011 12:53     Цитата

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


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

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


Последний раз редактировалось: NetSpider (07.11.2011 12:57), всего редактировалось 1 раз
 
Профиль Сообщение ^

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

Член клуба The eBook



Зарегистрирован: 10.01.2007
Сообщения: 4284


Откуда: Stuttgart, Germany

СообщениеДобавлено: 07.11.2011 12:57     Цитата

Креативненько.
_________________
V3, n516, PRS-505, iLiad, eSlick, Samsung E60, K3, K4NT, Onyx M90, PB 912, Kobo Mini
 
Профиль Сообщение ^

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 07.11.2011 12:59     Цитата

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


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

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

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

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

Может есть идеи?
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
Профиль Сообщение E-mail Skype ICQ ^

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

Член клуба The eBook



Зарегистрирован: 18.06.2009
Сообщения: 694



СообщениеДобавлено: 07.11.2011 14:06     Цитата

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

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

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

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


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

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

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

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



Зарегистрирован: 08.11.2010
Сообщения: 110


Откуда: Киев

СообщениеДобавлено: 07.11.2011 14:18     Цитата

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

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

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

sergeyvl писал(а):
2. WxWidgets - надо адаптировать;

Не, лучше не надо Smile
_________________
PocketBook 301
PocketBook 903
 
Профиль Сообщение ^

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

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



Зарегистрирован: 15.06.2011
Сообщения: 55



СообщениеДобавлено: 07.11.2011 14:47     Цитата

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

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

SSDTyphon писал(а):

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

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

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

Член клуба The eBook



Зарегистрирован: 10.01.2007
Сообщения: 4284


Откуда: Stuttgart, Germany

СообщениеДобавлено: 07.11.2011 14:54     Цитата

NetSpider

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

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

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



Зарегистрирован: 15.06.2011
Сообщения: 55



СообщениеДобавлено: 07.11.2011 15:01     Цитата

lunohod писал(а):
NetSpider

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


Вот этого я не знаю. Ну а по поводу qws так это придется весь софт переделывать и отказываться от inkview. Вряд ли там пойдут на такие трудозатраты, ведь времени все это займет прилично.
 
Профиль Сообщение ^

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 08.11.2011 22:41     Цитата

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

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

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

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 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
 
Профиль Сообщение E-mail Skype ICQ ^

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

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



Зарегистрирован: 08.04.2009
Сообщения: 93



СообщениеДобавлено: 22.11.2011 16:33     Цитата

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

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

Член клуба The eBook



Зарегистрирован: 12.11.2010
Сообщения: 1243


Откуда: Украина. Харьков

СообщениеДобавлено: 23.11.2011 17:25     Цитата

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


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

Ан нет...

Залил на меркуриал последние мои комментарии по секции "Event handling functions". Жду ваших отзывов.
_________________
Шахматы - PocketBook,Kindle,Onyx,Kobo,Android
 
Профиль Сообщение E-mail Skype ICQ ^
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов The-eBook -> PocketBook -> PocketBook Free Часовой пояс: GMT + 4
На страницу 1, 2, 3, 4  След.
Страница 1 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

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