Разработка приложений для OB60 QuickStart

Обсуждения, вопросы и ответы по электронным книгам ONYX BOOK
Аватара пользователя
vmakar
Доктор (4 lvl)
Сообщения: 460
Зарегистрирован: Чт фев 04, 2010 09:22

Сообщение vmakar » Пт мар 18, 2011 15:26

Значит так... из последнего разбора полета.

Берем виртуалку Virt... Box

Накатываем Ubuntu 10.10> деалем все шаги отсюда http://dev.onyxcommunity.com/wiki/quickstart кроме последнего make дабы не собирать финальный oar..

Далее в диспетчере установок закидываем себе QT dev kit
Запускаем QT creator выбираем открыть проект выбираем папку quikstart
выбираем CMakeLists.txt должен появиться проект типа helloworld в окне обозревателя проекта файл main.cpp и CMakeLists.txt , жмакаем скомпилировать компилится пример потом кидаем его в книгу и запускаем.

Ура работает.
Вот такая вот петрушка.....
Я доступен в PM ^^
А ты готов стать героем!?
http://www.onyx-boox.ru/board/viewtopic ... 81#1676081

https://sites.google.com/site/onyxbooxrusres/

Deepoff
Новенький (0 lvl)
Сообщения: 4
Зарегистрирован: Пт июл 23, 2010 07:40

Сообщение Deepoff » Сб май 07, 2011 19:26

У меня ubuntu - основная ось... Скачал, собрал, проверил. Работает. Только книжка долго думает, когда запускает этот example

Deepoff
Новенький (0 lvl)
Сообщения: 4
Зарегистрирован: Пт июл 23, 2010 07:40

Сообщение Deepoff » Сб май 07, 2011 19:27

Щас рою - как на этом sdk программить. По-ходу там на qt всё программируется?

math64
Кандидат (3 lvl)
Сообщения: 176
Зарегистрирован: Чт ноя 04, 2010 16:07

Сообщение math64 » Пт июн 24, 2011 00:08

В прошивке 20110418 код зависимый от ONYX в двух файлах:
Примерный main.cpp:

Код: Выделить всё

#include <QtGui/QApplication>

#include "mainwindow.h"

#ifndef ONYX
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
#else
#include "onyx/application.h"
#include "onyx/screen/screen_proxy.h"
#include "onyx/sys/sys_status.h"

class MyApplication : public onyx::Application {
public:
    MyApplication() : w(NULL)
    {
    }

    virtual ~MyApplication() {
        delete w;
    }

    virtual int exec() {
        sys::SysStatus::instance().setSystemBusy(false);
        w = new MainWindow;
        w->show();
        w->refreshScreen();
        return 0;
    }
private:
    MainWindow* w;
};

ONYX_APP_CLASS(MyApplication)
#endif
mainwindow.cpp:

Код: Выделить всё

#ifdef ONYX
#include "QtGui/qscreen_qws.h"
#include "onyx/screen/screen_proxy.h"
#include "onyx/sys/sys_status.h"
#endif

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
#ifdef ONYX
    flashScreen = true;
    setWindowFlags(Qt::FramelessWindowHint);
    showMaximized();
#endif
...
}

bool MainWindow::event(QEvent *event)
{
    bool ret = QMainWindow::event(event);
    if (event->type() == QEvent::UpdateRequest) {
        refreshScreen();
    }
    return ret;
}

void MainWindow::refreshScreen()
{
#ifdef ONYX
    if (flashScreen) {
        flashScreen = false;
        onyx::screen::ScreenProxy::instance().flush(this, onyx::screen::ScreenProxy::GC);
    }
    else
        onyx::screen::ScreenProxy::instance().flush(this, onyx::screen::ScreenProxy::GU);
#endif
}
После этого экран обновляется почти всегда, когда надо.
Автоматически появляются всплывающий подсказки (стилус не прикасется к экрану), но иногда забывают исчезать, когда стилус убирается.
При попытке таскать окно за заголовок оно не перерисовывается.
Но если войти и вийти из режима сна, окно перерисовывается в новом месте.
Обработка нажатий клавиш:

Код: Выделить всё

void MyWidget::keyReleaseEvent(QKeyEvent *event)
{
    switch(event->key()) {
    case Qt::Key_Escape: // BACK
        break;
    case Qt::Key_Menu: // MENU
        break;
    case Qt::Key_Return: // OK
        break;
    case Qt::Key_Up: // серебристое кольцо - зависит от поворота экрана
        break;
    case Qt::Key_Down:
        break;
    case Qt::Key_Left:
        break;
    case Qt::Key_Right:
        break;
    case Qt::Key_PageUp: // PREV
        break;
    case Qt::Key_PageDown: // NEXT
        break;
    case Qt::Key_VolumeUp: // VOL+
        break;
    case Qt::Key_VolumeDown: // VOL-
        break;
    }
}
Поворот экрана:

Код: Выделить всё

// на следующий угол (0-90-270-0) (относительно текущего поворота)
        sys::SysStatus::instance().rotateScreen();
// на угол angle (абсолютный поворот)
        sys::SysStatus::instance().setScreenTransformation(angle);

[Тим]
Профессор (5 lvl)
Сообщения: 682
Зарегистрирован: Вс сен 05, 2010 02:07

Сообщение [Тим] » Пт июн 24, 2011 00:27

math64
Ой, сяшка! Мило-то как!!! Уже давно не брал в руки. Настальгия. :D
Onyx Boox 60S -> A60 Pearl (прошивка 1.5.1 SP2 (20110629), подарок от 29.06.11).
Автор руководства по чтению PDF и DjVu на 6".
Ответы на вопросы по Onyx Boox найдёте здесь: https://sites.google.com/site/onyxbooxrusres/

math64
Кандидат (3 lvl)
Сообщения: 176
Зарегистрирован: Чт ноя 04, 2010 16:07

Сообщение math64 » Пт июн 24, 2011 00:40

[Тим]
Не C, а C++, причём под Linux - для тех кто хочет писать .oar для Onyx
переписал головоломку Эйнштейна games.flowix.com для Onyx 60 - если кому интересно, могу выложить.

suvonik
Студент (1 lvl)
Сообщения: 24
Зарегистрирован: Чт май 17, 2012 14:31

Сообщение suvonik » Ср июл 25, 2012 16:57

Кто-нибудь может подсказать что случилось с http://dev.onyxcommunity.com? Ни одна ссылка из первого поста не работает...

И, вообще, поделитесь, пожалуйста, актуальной информацией по разработке ПО для Onyx. Хочется попробовать свои силы, а инфы мало нарыл, кроме https://github.com/onyx-intl/booxsdk

Интересует в первую очередь информация, касающаяся разработки для i62m.

gwindlord
Новенький (0 lvl)
Сообщения: 17
Зарегистрирован: Сб июл 14, 2012 11:08

Сообщение gwindlord » Вт июл 31, 2012 12:19

suvonik писал(а):Кто-нибудь может подсказать что случилось с http://dev.onyxcommunity.com? Ни одна ссылка из первого поста не работает...

И, вообще, поделитесь, пожалуйста, актуальной информацией по разработке ПО для Onyx. Хочется попробовать свои силы, а инфы мало нарыл, кроме https://github.com/onyx-intl/booxsdk

Интересует в первую очередь информация, касающаяся разработки для i62m.
Я предполагаю, что мануал от М92 должен подойти к i62M, хотя еще не попробовал.

suvonik
Студент (1 lvl)
Сообщения: 24
Зарегистрирован: Чт май 17, 2012 14:31

Сообщение suvonik » Чт авг 02, 2012 11:58

Да, подходит.
P.S. Код, конечно, у них запутанный, но разобраться можно. Жаль документации только нет...
ONYX Boox i62M Pilgrim

Закрыто

Вернуться в «Электронные книги ONYX (eBook)»