HPC.ru lite - Все форумы
Форум: Электронные книги ONYX (eBook)
Тема: Разработка приложений для OB60 QuickStart
Страницы: 1 2 3 [4]
[Ответить]
vmakar [18.03.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 , жмакаем скомпилировать компилится пример потом кидаем его в книгу и запускаем.
Ура работает.
Deepoff [07.05.2011 19:26] :
У меня ubuntu - основная ось... Скачал, собрал, проверил. Работает. Только книжка долго думает, когда запускает этот example
Deepoff [07.05.2011 19:27] :
Щас рою - как на этом sdk программить. По-ходу там на qt всё программируется?
math64 [24.06.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);
[Тим] [24.06.2011 00:27] :
math64
Ой, сяшка! Мило-то как!!! Уже давно не брал в руки. Настальгия. 
math64 [24.06.2011 00:40] :
[Тим]
Не C, а C++, причём под Linux - для тех кто хочет писать .oar для Onyx
переписал головоломку Эйнштейна games.flowix.com для Onyx 60 - если кому интересно, могу выложить.
suvonik [25.07.2012 16:57] :
Кто-нибудь может подсказать что случилось с http://dev.onyxcommunity.com? Ни одна ссылка из первого поста не работает...
И, вообще, поделитесь, пожалуйста, актуальной информацией по разработке ПО для Onyx. Хочется попробовать свои силы, а инфы мало нарыл, кроме https://github.com/onyx-intl/booxsdk
Интересует в первую очередь информация, касающаяся разработки для i62m.
gwindlord [31.07.2012 12:19] :
suvonik писал(а):
Кто-нибудь может подсказать что случилось с http://dev.onyxcommunity.com? Ни одна ссылка из первого поста не работает...
И, вообще, поделитесь, пожалуйста, актуальной информацией по разработке ПО для Onyx. Хочется попробовать свои силы, а инфы мало нарыл, кроме https://github.com/onyx-intl/booxsdk
Интересует в первую очередь информация, касающаяся разработки для i62m.
Я предполагаю, что мануал от М92 должен подойти к i62M, хотя еще не попробовал.
suvonik [02.08.2012 11:58] :
Да, подходит.
P.S. Код, конечно, у них запутанный, но разобраться можно. Жаль документации только нет...
[Ответить]
[< Назад]