qt: fix mouse grab on opengl renderer (for windows)

This commit is contained in:
ts-korhonen
2021-12-17 18:37:57 +02:00
parent 0c7450a08a
commit ffde0ea254
2 changed files with 18 additions and 0 deletions

View File

@@ -4,6 +4,7 @@
extern "C" {
#include <86box/86box.h>
#include <86box/plat.h>
}
void HardwareRenderer::resizeGL(int w, int h)
@@ -45,3 +46,19 @@ void HardwareRenderer::resizeEvent(QResizeEvent *event) {
onResize(width(), height());
QOpenGLWindow::resizeEvent(event);
}
void HardwareRenderer::mouseReleaseEvent(QMouseEvent *event)
{
if (this->geometry().contains(event->pos()) && event->button() == Qt::LeftButton && !mouse_capture)
{
plat_mouse_capture(1);
this->setCursor(Qt::BlankCursor);
return;
}
if (mouse_capture && event->button() == Qt::MiddleButton)
{
plat_mouse_capture(0);
this->setCursor(Qt::ArrowCursor);
return;
}
}

View File

@@ -49,4 +49,5 @@ public slots:
protected:
void resizeEvent(QResizeEvent *event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
};