diff options
Diffstat (limited to 'pose-widget/pose-widget.cpp')
-rw-r--r-- | pose-widget/pose-widget.cpp | 31 |
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 |