git-svn-id: svn://db.shs.com.ru/libs@279 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2017-09-22 08:15:35 +00:00
parent 1f6bf2ad33
commit 4d2491a6ff
6 changed files with 72 additions and 31 deletions

View File

@@ -2,6 +2,7 @@
#define UGLWIDGET_H
#include <QWidget>
#include <QDebug>
#if QT_VERSION >= 0x050400
# include <QOpenGLWidget>
typedef QOpenGLWidget __GLWidget__;
@@ -18,13 +19,29 @@ class UGLWidget: public __GLWidget__
{
Q_OBJECT
public:
UGLWidget(QWidget * parent = 0): __GLWidget__(/*QGLFormat(QGL::DoubleBuffer | QGL::AlphaChannel | QGL::DirectRendering | QGL::SampleBuffers),*/ parent) {}
#if QT_VERSION >= 0x050400
UGLWidget(QWidget * parent = 0): __GLWidget__(parent) {QSurfaceFormat sf = format(); sf.setSamples(8); setFormat(sf);}
#else
UGLWidget(QWidget * parent = 0): __GLWidget__(QGLFormat(QGL::DoubleBuffer | QGL::AlphaChannel | QGL::DirectRendering | QGL::SampleBuffers), parent) {}
#endif
//UGLWidget(QGLContext * context, QWidget * parent = 0): __GLWidget__(context, parent) {}
#if QT_VERSION >= 0x050400
QImage grabFrameBuffer() {return grabFramebuffer();}
#endif
protected:
#if QT_VERSION >= 0x050400
virtual void paintGL() {emit paintSignal();}
#else
virtual void paintEvent(QPaintEvent * ) {emit paintSignal();}
#endif
virtual void resizeEvent(QResizeEvent * e) {
__GLWidget__::resizeEvent(e);
emit resizeSignal();
}
signals:
void closeEvent(QCloseEvent * e);
void dragEnterEvent(QDragEnterEvent * e);
@@ -41,18 +58,10 @@ signals:
void mousePressEvent(QMouseEvent * e);
void mouseReleaseEvent(QMouseEvent * e);
void moveEvent(QMoveEvent * e);
void resizeEvent(QResizeEvent * e);
void showEvent(QShowEvent * e);
void wheelEvent(QWheelEvent * e);
void paintEvent(QPaintEvent * e);
void glDraw();
void glInit();
void initializeGL();
void initializeOverlayGL();
void paintGL();
void paintOverlayGL();
void resizeGL(int width, int height);
void resizeOverlayGL(int width, int height);
void resizeSignal();
void paintSignal();
};