diff options
author | Keränen Pasi <pasi.keranen@digia.com> | 2013-08-06 11:48:33 +0300 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@digia.com> | 2013-08-06 12:40:22 +0300 |
commit | 6fdda6d560fafb086501cfc60616d84324bb6cb0 (patch) | |
tree | b5577989ba0b71ba49e4cb8a09c1bba4e9ebd826 /src/datavis3d/engine/abstract3drenderer_p.h | |
parent | 6ce8545225700a97e6ba306144698880ca1051ff (diff) |
First set of common functionality moved to renderer base class.
Change-Id: Icbe542b48d820fd6af66ae0611ceff2641139b5f
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d/engine/abstract3drenderer_p.h')
-rw-r--r-- | src/datavis3d/engine/abstract3drenderer_p.h | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/src/datavis3d/engine/abstract3drenderer_p.h b/src/datavis3d/engine/abstract3drenderer_p.h index fcc70ebd..fb91602a 100644 --- a/src/datavis3d/engine/abstract3drenderer_p.h +++ b/src/datavis3d/engine/abstract3drenderer_p.h @@ -53,9 +53,12 @@ #define ABSTRACT3DRENDERER_P_H #include <QtGui/QOpenGLFunctions> +#include <QtGui/QFont> + #include "datavis3dglobal_p.h" #include "abstract3dcontroller_p.h" + QT_DATAVIS3D_BEGIN_NAMESPACE class Abstract3DRenderer : public QObject, protected QOpenGLFunctions @@ -64,15 +67,35 @@ protected: Abstract3DController *m_controller; bool m_hasNegativeValues; - + QRect m_cachedBoundingRect; + ShadowQuality m_cachedShadowQuality; + Theme m_cachedTheme; + QFont m_cachedFont; + LabelTransparency m_cachedLabelTransparency; + Drawer *m_drawer; + GLfloat m_autoScaleAdjustment; Abstract3DRenderer(Abstract3DController *controller); - virtual void initializeOpenGL()=0; + virtual void initializePreOpenGL(); + virtual void initializeOpenGL(); + + virtual void updateBoundingRect(const QRect boundingRect); + virtual void updatePosition(const QRect boundingRect); + virtual void handleResize(); + + virtual void updateTheme(Theme theme); + virtual void updateFont(const QFont &font); + virtual void updateLabelTransparency(LabelTransparency transparency); + + virtual void handleShadowQualityChange(); virtual void requestSelectionAtPoint(const QPoint &point)=0; - virtual void handleResize()=0; - virtual void updateBoundingRect(const QRect boundingRect)=0; - virtual void updatePosition(const QRect boundingRect)=0; + virtual void updateTextures()=0; + virtual void initSelectionBuffer()=0; + virtual void updateDepthBuffer()=0; + virtual void updateShadowQuality(ShadowQuality quality)=0; + virtual void initShaders(const QString &vertexShader, const QString &fragmentShader)=0; + virtual void initBackgroundShaders(const QString &vertexShader, const QString &fragmentShader)=0; }; |