#ifndef _QPROJECTORWINDOW_H_ #define _QPROJECTORWINDOW_H_ #include #include namespace projection { class ProjectionModel; class Channel; class QProjectorWindow : public QGLWidget { Q_OBJECT public: QProjectorWindow(QWidget* pParent=0, QGLWidget* pSharedWidget=0, Qt::WFlags flag=0); virtual ~QProjectorWindow(); void setModel(ProjectionModel* pModel); void setChannel(Channel* pChannel); Channel* getChannel() const { return m_pChannel; } void updateTitle(); void initFromDOMElement(const QDomElement& element); QDomElement domElement(QDomDocument& document) const; protected: virtual void initializeGL(); virtual void resizeGL(int width, int height); virtual void paintGL(); virtual void keyReleaseEvent(QKeyEvent* pEvent); virtual void mousePressEvent(QMouseEvent* pEvent); virtual void mouseMoveEvent(QMouseEvent* pEvent); virtual void wheelEvent(QWheelEvent* pEvent); virtual void closeEvent(QCloseEvent* pEvent); protected: Channel* m_pChannel; QFont m_overlayFont; QFont m_infoFont; unsigned int m_blendChannelIndex; static bool m_bInitialized; ProjectionModel* m_pModel; }; }; // projection #endif // _QPROJECTORWINDOW_H_