diff options
Diffstat (limited to 'pose-widget/pose-widget.cpp')
-rw-r--r-- | pose-widget/pose-widget.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/pose-widget/pose-widget.cpp b/pose-widget/pose-widget.cpp index ac3aa74a..51d86609 100644 --- a/pose-widget/pose-widget.cpp +++ b/pose-widget/pose-widget.cpp @@ -8,6 +8,7 @@ #include "pose-widget.hpp" #include "compat/check-visible.hpp" #include "compat/math.hpp" +#include "opentrack/defs.hpp" #include <QPainter> #include <QtEvents> @@ -21,6 +22,7 @@ namespace pose_widget_impl { pose_widget::pose_widget(QWidget* parent) : QWidget(parent) { QPainter p; + p.setRenderHint(QPainter::SmoothPixmapTransform); #ifdef TEST //draw rectangle frame around of Octopus, only if TEST defined p.begin(&front); @@ -38,17 +40,29 @@ pose_widget::pose_widget(QWidget* parent) : QWidget(parent) shine.fill(QColor(255,255,255)); p.begin(&shine); p.setCompositionMode(QPainter::CompositionMode_DestinationIn); - p.drawImage(QPointF(0,0), front); + p.drawImage(QPointF(0,0), front); p.end(); //draw Octopus shadow shadow.fill(QColor(0,0,0)); p.begin(&shadow); p.setCompositionMode(QPainter::CompositionMode_DestinationIn); - p.drawImage(QPointF(0,0), front); + p.drawImage(QPointF(0,0), front); p.end(); mirror.setFocusPolicy(Qt::NoFocus); + +#ifdef UI_COMPACT_VIDEO_FEED + mirror.setVisible(false); +#endif +} + +void pose_widget::set_grid_background(bool dark_theme) +{ + if (dark_theme) + background = QImage(":/images/grid-dark.png"); + else + background = QImage(":/images/grid-light.png"); } void pose_widget::present(double yaw, double pitch, double roll, double x, double y, double z) @@ -89,6 +103,8 @@ void pose_widget::paintEvent(QPaintEvent*) { p.fillRect(rect(), palette().brush(backgroundRole())); + if (!background.isNull()) + p.drawImage(rect(), background); // draw axes p.save(); p.setPen(QPen(Qt::gray, 1, Qt::SolidLine)); |