StelAppGraphicsWidget.hpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _STELAPPGRAPHICSWIDGET_HPP_
00021 #define _STELAPPGRAPHICSWIDGET_HPP_
00022
00023 #include <QGraphicsWidget>
00024
00025 class StelViewportEffect;
00026
00031 class StelAppGraphicsWidget : public QGraphicsWidget
00032 {
00033 Q_OBJECT
00034 public:
00035 StelAppGraphicsWidget(class StelRenderer* renderer);
00036 ~StelAppGraphicsWidget();
00037
00039 void init(class QSettings* conf);
00040
00043 virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget=0);
00044
00047 void setViewportEffect(const QString& effectName);
00049 QString getViewportEffect() const;
00050
00052 void setDoPaint(bool b) {doPaint=b;}
00053
00054 protected:
00055 virtual void keyPressEvent(QKeyEvent* event);
00056 virtual void keyReleaseEvent(QKeyEvent* event);
00057 virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
00058 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
00059 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
00060 virtual void wheelEvent(QGraphicsSceneWheelEvent * wheelEvent);
00061 virtual void resizeEvent(QGraphicsSceneResizeEvent* event);
00062
00063 private:
00065 friend class StelAppGraphicsWidgetRenderClient;
00066
00067 double previousPaintTime;
00069 class StelApp* stelApp;
00071 int paintState;
00072
00074 class StelRenderer* renderer;
00075
00077 bool paintPartial();
00078
00079 StelViewportEffect* viewportEffect;
00080 void distortPos(QPointF* pos);
00081
00082 bool doPaint;
00083 };
00084
00085 #endif // _STELAPPGRAPHICSWIDGET_HPP_
00086