summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/abstract3drenderer_p.h
diff options
context:
space:
mode:
authorKeränen Pasi <pasi.keranen@digia.com>2013-08-06 11:48:33 +0300
committerPasi Keränen <pasi.keranen@digia.com>2013-08-06 12:40:22 +0300
commit6fdda6d560fafb086501cfc60616d84324bb6cb0 (patch)
treeb5577989ba0b71ba49e4cb8a09c1bba4e9ebd826 /src/datavis3d/engine/abstract3drenderer_p.h
parent6ce8545225700a97e6ba306144698880ca1051ff (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.h33
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;
};