void CCControlBase::visit() { if(getCtrlFlags().hasFlag(ECtrlFlag_UseScissorTest)) { _scissorRestored = false; CCRect frame = getWorldViewRect(); CCRect parentScissorRect; if (CCEGLView::sharedOpenGLView()->isScissorEnabled()) { _scissorRestored = true; parentScissorRect = CCEGLView::sharedOpenGLView()->getScissorRect(); CCEGLView::sharedOpenGLView()->setScissorInPoints(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); } else { glEnable(GL_SCISSOR_TEST); CCEGLView::sharedOpenGLView()->setScissorInPoints(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); } SLBaseClass::visit(); if (_scissorRestored) { // restore the parent's scissor rect CCEGLView::sharedOpenGLView()->setScissorInPoints(parentScissorRect.origin.x, parentScissorRect.origin.y, parentScissorRect.size.width, parentScissorRect.size.height); } else { glDisable(GL_SCISSOR_TEST); } } else { SLBaseClass::visit(); } }
void ApplicationWindow::setWhat(QWidget *w, unsigned id, long long v) { const v4l2_queryctrl &qctrl = m_ctrlMap[id]; QString what; QString flags = getCtrlFlags(qctrl.flags); switch (qctrl.type) { case V4L2_CTRL_TYPE_INTEGER: w->setWhatsThis(QString("Type: Integer\n" "Minimum: %1\n" "Maximum: %2\n" "Current: %3\n" "Default: %4") .arg(qctrl.minimum).arg(qctrl.maximum).arg(v).arg(qctrl.default_value) + flags); w->setStatusTip(w->whatsThis()); break; case V4L2_CTRL_TYPE_INTEGER64: w->setWhatsThis(QString("Type: Integer64\n" "Current: %1").arg(v) + flags); w->setStatusTip(w->whatsThis()); break; case V4L2_CTRL_TYPE_BITMASK: w->setWhatsThis(QString("Type: Bitmask\n" "Maximum: %1\n" "Current: %2\n" "Default: %3") .arg((unsigned)qctrl.maximum, 0, 16).arg((unsigned)v, 0, 16) .arg((unsigned)qctrl.default_value, 0, 16) + flags); w->setStatusTip(w->whatsThis()); break; case V4L2_CTRL_TYPE_BUTTON: w->setWhatsThis(QString("Type: Button") + flags); w->setStatusTip(w->whatsThis()); break; case V4L2_CTRL_TYPE_BOOLEAN: w->setWhatsThis(QString("Type: Boolean\n" "Current: %1\n" "Default: %2") .arg(v).arg(qctrl.default_value) + flags); w->setStatusTip(w->whatsThis()); break; case V4L2_CTRL_TYPE_MENU: w->setWhatsThis(QString("Type: Menu\n" "Minimum: %1\n" "Maximum: %2\n" "Current: %3\n" "Default: %4") .arg(qctrl.minimum).arg(qctrl.maximum).arg(v).arg(qctrl.default_value) + flags); w->setStatusTip(w->whatsThis()); break; default: break; } }
void CCControlBase::draw() { SLBaseClass::draw(); if(getCtrlFlags().hasFlag(ECtrlFlag_DrawFocusRect)) { if(isSelected()) { drawFrame(ccc4(255,0,0,127),5); } else { drawFrame(ccc4(0,127,200,127),5); } } }
void ApplicationWindow::setWhat(QWidget *w, unsigned id, const QString &v) { const v4l2_queryctrl &qctrl = m_ctrlMap[id]; QString what; QString flags = getCtrlFlags(qctrl.flags); switch (qctrl.type) { case V4L2_CTRL_TYPE_STRING: w->setWhatsThis(QString("Type: String\n" "Current: %1").arg(v) + flags); w->setStatusTip(w->whatsThis()); break; default: break; } }
void ApplicationWindow::setWhat(QWidget *w, unsigned id, long long v) { const v4l2_queryctrl &qctrl = ctrlMap[id]; QString what; QString flags = getCtrlFlags(qctrl.flags); switch (qctrl.type) { case V4L2_CTRL_TYPE_INTEGER: QWhatsThis::add(w, what.sprintf("Integer type control\n" "Minimum: %d\n" "Maximum: %d\n" "Current: %d\n" "Default: %d\n", qctrl.minimum, qctrl.maximum, (int)v, qctrl.default_value) + flags); break; case V4L2_CTRL_TYPE_INTEGER64: QWhatsThis::add(w, what.sprintf("64-bit Integer type control\n" "Current: %lld\n", v) + flags); break; case V4L2_CTRL_TYPE_BUTTON: QWhatsThis::add(w, what.sprintf("Button type control\n") + flags); break; case V4L2_CTRL_TYPE_BOOLEAN: QWhatsThis::add(w, what.sprintf("Boolean type control\n" "Current: %d\n" "Default: %d\n", (int)v, qctrl.default_value) + flags); break; case V4L2_CTRL_TYPE_MENU: QWhatsThis::add(w, what.sprintf("Menu type control\n" "Minimum: %d\n" "Maximum: %d\n" "Current: %d\n" "Default: %d\n", qctrl.minimum, qctrl.maximum, (int)v, qctrl.default_value) + flags); break; default: break; } }