// 毎フレーム描画 static void engine_draw_frame(struct engine* engine) { // displayが無い場合は描画しない if (engine->display == NULL) return; // モデル表示モードにする glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // 画面をクリアーする glClear(GL_COLOR_BUFFER_BIT); // テクスチャー表示を有効化 glEnable(GL_TEXTURE_2D); // タッチ位置を表示 displayTouchPoint(engine); // センサー情報を表示 displaySensors(engine); // キー入力情報を表示 displayKeys(engine); // 表示領域、描画領域を入れ替える eglSwapBuffers(engine->display, engine->surface); }
void ShortcutKeyWidget::focusOutEvent(QFocusEvent *e) { if ((e->reason() == Qt::TabFocusReason) || (e->reason() == Qt::BacktabFocusReason)) return; setPalette(parentWidget()->palette()); clearFocus(); disconnect(GlobalShortcutEngine::engine, SIGNAL(buttonPressed(bool)), this, SLOT(updateKeys(bool))); displayKeys(); removeEventFilter(this); }
void ShortcutKeyWidget::updateKeys(bool last) { qlButtons = GlobalShortcutEngine::engine->qlActiveButtons; bModified = true; if (qlButtons.isEmpty()) return; if (last) clearFocus(); else displayKeys(false); }
void ShortcutKeyWidget::mouseDoubleClickEvent(QMouseEvent *) { bModified = true; qlButtons.clear(); clearFocus(); displayKeys(); }
void ShortcutKeyWidget::setShortcut(const QList<QVariant> &buttons) { qlButtons = buttons; displayKeys(); }
ShortcutKeyWidget::ShortcutKeyWidget(QWidget *p) : QLineEdit(p) { setReadOnly(true); clearFocus(); bModified = false; displayKeys(); }