#pragma once #include class OSGRendererImpl; class OsgWidget : public QOpenGLWidget { Q_OBJECT public: OsgWidget(QWidget *parent = nullptr); signals: void initialized(); protected: void initializeGL() override; void resizeGL(int w, int h) override; void paintGL() override; void keyPressEvent( QKeyEvent* event ) override; void keyReleaseEvent( QKeyEvent* event ) override; void mousePressEvent( QMouseEvent* event ) override; void mouseReleaseEvent( QMouseEvent* event ) override; void mouseDoubleClickEvent( QMouseEvent* event ) override; void mouseMoveEvent( QMouseEvent* event ) override; void wheelEvent( QWheelEvent* event ) override; private: OSGRendererImpl *renderer_; };