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.cpp31
1 files changed, 13 insertions, 18 deletions
diff --git a/pose-widget/pose-widget.cpp b/pose-widget/pose-widget.cpp
index e662424c..ac3aa74a 100644
--- a/pose-widget/pose-widget.cpp
+++ b/pose-widget/pose-widget.cpp
@@ -47,6 +47,8 @@ pose_widget::pose_widget(QWidget* parent) : QWidget(parent)
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
p.drawImage(QPointF(0,0), front);
p.end();
+
+ mirror.setFocusPolicy(Qt::NoFocus);
}
void pose_widget::present(double yaw, double pitch, double roll, double x, double y, double z)
@@ -63,19 +65,6 @@ void pose_widget::resizeEvent(QResizeEvent *event)
float w = event->size().width();
float h = event->size().height();
- // draw axes
- QImage background(QImage(w, h, QImage::Format_ARGB32));
- QPainter p(&background);
- p.setPen(QPen(Qt::gray, 1, Qt::SolidLine));
- p.drawLine(0.5*w, 0 , 0.5*w, h );
- p.drawLine( 0 , 0.5*h, w , 0.5*h);
-
- // set AutoFillBackground
- QPalette palette;
- palette.setBrush(this->backgroundRole(), QBrush(background));
- setPalette(palette);
- setAutoFillBackground(true);
-
// move the mirror checkbox in the lower right corner of the widget
mirror.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
mirror.move(w - mirror.width(), h - mirror.height());
@@ -98,6 +87,17 @@ void pose_widget::paintEvent(QPaintEvent*)
p.setRenderHint(QPainter::Antialiasing, true);
#endif
+ {
+ p.fillRect(rect(), palette().brush(backgroundRole()));
+ // draw axes
+ p.save();
+ p.setPen(QPen(Qt::gray, 1, Qt::SolidLine));
+ int w = width(), h = height();
+ p.drawLine(w/2, 0, w/2, h);
+ p.drawLine( 0, h/2, w, h/2);
+ p.restore();
+ }
+
// check mirror state
if (mirror.checkState() == Qt::Checked) x = -x;
else { yaw = -yaw; roll = -roll; }
@@ -136,9 +136,4 @@ void pose_widget::paintEvent(QPaintEvent*)
p.drawImage(QPointF(0,0), forward == (alpha >= 0.0) ? shine : shadow);
}
-QSize pose_widget::sizeHint() const
-{
- return { 1 << 16, 1 << 16 };
-}
-
} // ns pose_widget_impl