DtOsgAdapterQtWidget provides the mechanism for embedding an OSG context into a Qt widget.
| makVrv::DtOsgAdapterQtWidget::DtOsgAdapterQtWidget |
( |
DtDe & |
de, |
|
|
osg::GraphicsContext::Traits * |
contextTraits, |
|
|
const QGLFormat & |
format, |
|
|
QOpenGLContext * |
openGLContext, |
|
|
QWidget * |
parent, |
|
|
Qt::WindowFlags |
windowFlags |
|
) |
| |
| virtual makVrv::DtOsgAdapterQtWidget::~DtOsgAdapterQtWidget |
( |
| ) |
|
|
virtual |
| osgViewer::GraphicsWindow* makVrv::DtOsgAdapterQtWidget::graphicsWindow |
( |
| ) |
|
| void makVrv::DtOsgAdapterQtWidget::setView |
( |
DtWindow * |
window | ) |
|
Set the osg window to forward off events such as resize.
| DtWindow* makVrv::DtOsgAdapterQtWidget::view |
( |
| ) |
const |
| int makVrv::DtOsgAdapterQtWidget::widgetToNativeCoordinate |
( |
int |
widgetValue | ) |
|
Converts a point in possibly scaled widget coordinates to native coordinates to support Qt high dpi scaling.
- Returns
- widgetValue multiplied by devicePixelRatio. On unscaled content devicePixelRatio is 1.
| int makVrv::DtOsgAdapterQtWidget::nativeToWidgetCoordinate |
( |
int |
nativeValue | ) |
|
Converts a point in native coordinates to possibly scaled widget coordinates to support Qt high dpi scaling.
- Returns
- widgetValue multiplied by devicePixelRatio. On unscaled content devicePixelRatio is 1.
| virtual osgGA::GUIEventAdapter::KeySymbol makVrv::DtOsgAdapterQtWidget::osgKeyFromQtKeyEvent |
( |
QKeyEvent * |
event | ) |
|
|
virtual |
maps keys coming from Qt to osg::GuiEventAdapter::KeySymbols
| virtual void makVrv::DtOsgAdapterQtWidget::processKeyPressEvent |
( |
QKeyEvent * |
keyEvent | ) |
|
|
virtual |
process a key press event that came from Qt directly or from the key adapter
| virtual void makVrv::DtOsgAdapterQtWidget::processKeyReleaseEvent |
( |
QKeyEvent * |
keyEvent | ) |
|
|
virtual |
process a key release event that came from Qt directly or from the key adapter
| virtual bool makVrv::DtOsgAdapterQtWidget::processTouchEvent |
( |
QTouchEvent * |
touchEvent | ) |
|
|
virtual |
Process a touch event. Touch events with two touchpoints are treated as pinches; others are ignored (exception - touch end events always have one touchpoint, even if its the end of a multitouch event; hence it is processed here IF we are current within an identified pinch gesture)
| virtual void makVrv::DtOsgAdapterQtWidget::mouseMoveEvent |
( |
QMouseEvent * |
event | ) |
|
|
virtual |
| virtual void makVrv::DtOsgAdapterQtWidget::focusInEvent |
( |
QFocusEvent * |
event | ) |
|
|
virtual |
| virtual void makVrv::DtOsgAdapterQtWidget::focusOutEvent |
( |
QFocusEvent * |
event | ) |
|
|
virtual |
| virtual bool makVrv::DtOsgAdapterQtWidget::event |
( |
QEvent * |
event | ) |
|
|
virtual |
| static QGLFormat makVrv::DtOsgAdapterQtWidget::createFormatFromTraits |
( |
const osg::GraphicsContext::Traits * |
contextTraits | ) |
|
|
static |
Helper function to create a QFormat from an osg context traits.
| virtual QSize makVrv::DtOsgAdapterQtWidget::sizeHint |
( |
| ) |
const |
|
virtual |
| virtual void makVrv::DtOsgAdapterQtWidget::slot_onRightClickTerrainMenuRequest |
( |
double |
mouseX, |
|
|
double |
mouseY, |
|
|
DtChannel * |
channel |
|
) |
| |
|
virtual |
called by signal requesting a terrain-specific popup menu
| virtual void makVrv::DtOsgAdapterQtWidget::slot_onRightClickSelectionMenuRequest |
( |
double |
mouseX, |
|
|
double |
mouseY, |
|
|
DtChannel * |
channel |
|
) |
| |
|
virtual |
called by signal requesting a selection-specific popup menu
| virtual void makVrv::DtOsgAdapterQtWidget::slot_onWindowConfigurationModified |
( |
const DtWindowConfiguration & |
newWindowConfig | ) |
|
|
virtual |
called by signal indicating a window configuration change
| void makVrv::DtOsgAdapterQtWidget::devicePixelRatioChanged |
( |
| ) |
|
|
signal |
This signal is emitted when the high dpi scaling factor changes.
| void makVrv::DtOsgAdapterQtWidget::init |
( |
| ) |
|
|
protected |
| virtual bool makVrv::DtOsgAdapterQtWidget::channelInThisWidget |
( |
const DtChannel & |
channel | ) |
|
|
protectedvirtual |
Find out if our window (myView) owns a channel. Used when processing ctrlEnter signals.
| virtual void makVrv::DtOsgAdapterQtWidget::resizeGL |
( |
int |
width, |
|
|
int |
height |
|
) |
| |
|
overrideprotectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::paintGL |
( |
| ) |
|
|
overrideprotectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::paintEvent |
( |
QPaintEvent * |
e | ) |
|
|
overrideprotectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::resizeEvent |
( |
QResizeEvent * |
resizeEvent | ) |
|
|
overrideprotectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::keyPressEvent |
( |
QKeyEvent * |
| ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::keyReleaseEvent |
( |
QKeyEvent * |
| ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::mousePressEvent |
( |
QMouseEvent * |
event | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::mouseReleaseEvent |
( |
QMouseEvent * |
event | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::enterEvent |
( |
QEvent * |
event | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::leaveEvent |
( |
QEvent * |
event | ) |
|
|
protectedvirtual |
| int makVrv::DtOsgAdapterQtWidget::qtButtonToOsgButton |
( |
QMouseEvent * |
event | ) |
|
|
protected |
| virtual void makVrv::DtOsgAdapterQtWidget::mouseDoubleClickEvent |
( |
QMouseEvent * |
event | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::wheelEvent |
( |
QWheelEvent * |
| ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::closeEvent |
( |
QCloseEvent * |
| ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::slot_ctrlEnterPressed |
( |
const DtChannel & |
channel | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtOsgAdapterQtWidget::getTouchPointPositions |
( |
const QTouchEvent & |
touchEvent, |
|
|
osg::Vec2 & |
p0, |
|
|
osg::Vec2 & |
p1 |
|
) |
| |
|
protectedvirtual |
Get the positions of the 2 touch points in a touch event; if the touch event has no touch points, p0 and p1 will be untouched. If the touch event has only one touch point, p0 will be set and p1 will be untouched.
| virtual void makVrv::DtOsgAdapterQtWidget::startOsgTouch |
( |
const osg::Vec2 & |
p0, |
|
|
const osg::Vec2 & |
p1 |
|
) |
| |
|
protectedvirtual |
This creates an osgGA GUI Adapter touch event with the Began phase and the points provided.
| virtual void makVrv::DtOsgAdapterQtWidget::continueOsgTouch |
( |
const osg::Vec2 & |
p0, |
|
|
const osg::Vec2 & |
p1 |
|
) |
| |
|
protectedvirtual |
This creates an osgGA GUI Adapter touch event with the Moved phase and the points provided.
| virtual void makVrv::DtOsgAdapterQtWidget::endOsgTouch |
( |
const osg::Vec2 & |
p0 | ) |
|
|
protectedvirtual |
This creates an osgGA GUI Adapter touch event with the Ended phase and the points provided.
| virtual void makVrv::DtOsgAdapterQtWidget::cleanupOpenGlResources |
( |
void |
| ) |
|
|
protectedvirtual |
This is called from the destructor -It saves the incoming OpenGL context (it may or may not be this widget's context) -It makes the context for this widget current. -It then calls DtOsgToGlContextTracker::instance(myDe).contextAboutToBeDestroyed -Then, the incoming OpenGL context is resotred.
| void makVrv::DtOsgAdapterQtWidget::emit_signal_pixelRatioChanged |
( |
| ) |
|
|
protectedslot |
Simple wrapper to emit boost pixelRatioChanged signal from the Qt signal.
| boost::signalslib::signal<void (DtOsgAdapterQtWidget*)> makVrv::DtOsgAdapterQtWidget::signal_mouseEnter |
| boost::signalslib::signal<void (DtOsgAdapterQtWidget*)> makVrv::DtOsgAdapterQtWidget::signal_mouseExit |
| DtDe& makVrv::DtOsgAdapterQtWidget::myDe |
|
protected |
| DtWindow* makVrv::DtOsgAdapterQtWidget::myWindow |
|
protected |
| QOpenGLContext* makVrv::DtOsgAdapterQtWidget::myOpenGLContext |
|
protected |
| bool makVrv::DtOsgAdapterQtWidget::myLeftPressed |
|
protected |
| bool makVrv::DtOsgAdapterQtWidget::myMiddlePressed |
|
protected |
| bool makVrv::DtOsgAdapterQtWidget::myRightPressed |
|
protected |
| bool makVrv::DtOsgAdapterQtWidget::myIsPinching |
|
protected |
| int makVrv::DtOsgAdapterQtWidget::myOldDevicePixelRatio |
|
protected |
The documentation for this class was generated from the following file: