Play-/Source/ui_qt/openglwindow.cpp

59 lines
1.1 KiB
C++
Raw Normal View History

2016-07-01 05:21:58 +03:00
#include "openglwindow.h"
#include <QResizeEvent>
2018-04-30 21:01:23 +01:00
OpenGLWindow::OpenGLWindow(QWindow* parent)
2016-07-01 05:21:58 +03:00
: QWindow(parent)
{
2018-04-30 21:01:23 +01:00
QSurfaceFormat format;
format.setVersion(3, 2);
format.setProfile(QSurfaceFormat::CoreProfile);
format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
2016-07-01 05:21:58 +03:00
2018-04-30 21:01:23 +01:00
setSurfaceType(QWindow::OpenGLSurface);
setFormat(format);
2016-07-29 18:31:09 +01:00
2018-04-30 21:01:23 +01:00
connect(this, SIGNAL(activeChanged()), this, SLOT(activeStateChanged()));
2016-07-01 05:21:58 +03:00
}
2018-04-30 21:01:23 +01:00
void OpenGLWindow::keyPressEvent(QKeyEvent* ev)
2016-07-01 05:21:58 +03:00
{
2018-04-30 21:01:23 +01:00
emit keyDown(ev);
2016-07-01 05:21:58 +03:00
}
2018-04-30 21:01:23 +01:00
void OpenGLWindow::keyReleaseEvent(QKeyEvent* ev)
2016-07-01 05:21:58 +03:00
{
2018-04-30 21:01:23 +01:00
emit keyUp(ev);
2016-07-01 05:21:58 +03:00
}
2016-07-01 05:28:39 +03:00
void OpenGLWindow::exposeEvent(QExposeEvent* ev)
{
2018-04-30 21:01:23 +01:00
emit widthChanged(size().width());
QWindow::exposeEvent(ev);
2016-07-01 05:28:39 +03:00
}
2016-07-29 18:31:09 +01:00
2018-04-30 21:01:23 +01:00
void OpenGLWindow::focusOutEvent(QFocusEvent* event)
2016-07-29 18:31:09 +01:00
{
2018-04-30 21:01:23 +01:00
emit focusOut(event);
2016-07-29 18:31:09 +01:00
}
2018-04-30 21:01:23 +01:00
void OpenGLWindow::focusInEvent(QFocusEvent* event)
2016-07-29 18:31:09 +01:00
{
2018-04-30 21:01:23 +01:00
emit focusIn(event);
2016-07-29 18:31:09 +01:00
}
void OpenGLWindow::activeStateChanged()
{
2018-04-30 21:01:23 +01:00
if(isActive())
{
emit focusIn(new QFocusEvent(QEvent::FocusIn));
}
else
{
emit focusOut(new QFocusEvent(QEvent::FocusOut));
}
2016-07-29 18:31:09 +01:00
}
2017-04-22 19:46:31 +01:00
2018-04-30 21:01:23 +01:00
void OpenGLWindow::mouseDoubleClickEvent(QMouseEvent* ev)
2017-04-22 19:46:31 +01:00
{
2018-04-30 21:01:23 +01:00
emit doubleClick(ev);
2017-04-22 19:46:31 +01:00
}