summaryrefslogtreecommitdiffhomepage
path: root/pose-widget/pose-widget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pose-widget/pose-widget.cpp')
-rw-r--r--pose-widget/pose-widget.cpp20
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));