ganeswidgets/inc/hgvgquadrenderer.h
changeset 2 49c70dcc3f17
parent 1 e48454f237ca
child 5 4fa04caf0f43
--- a/ganeswidgets/inc/hgvgquadrenderer.h	Mon May 03 13:32:54 2010 +0300
+++ b/ganeswidgets/inc/hgvgquadrenderer.h	Fri May 14 16:57:01 2010 +0300
@@ -18,10 +18,11 @@
 #ifndef HGVGQUADRENDERER_H
 #define HGVGQUADRENDERER_H
 
-#include "hgquadrenderer.h"
+#include "hgtransformedquadrenderer.h"
 #include <qlist>
 #include <VG/openvg.h>
 #include <qimage>
+#include <qtransform>
 
 class QPoint;
 class QPainter;
@@ -29,38 +30,40 @@
 class QMatrix4x4;
 class HgVgQuad;
 class HgVgImage;
-class HgImageFader;
 class QSize;
+class HgTransformedQuad;
 /**
  * OpenVG implementation of the HgQuadRenderer.
  */
-class HgVgQuadRenderer: public HgQuadRenderer
+class HgVgQuadRenderer: public HgTransformedQuadRenderer
 {
 public:
     HgVgQuadRenderer(int maxQuads);
     virtual ~HgVgQuadRenderer();    
-    virtual HgQuad* getQuadAt(const QPointF& point) const;
-    virtual void transformQuads(const QMatrix4x4& view, const QMatrix4x4& proj, 
-        const QRectF& rect);
-    virtual void drawQuads(const QRectF& rect, QPainter* painter);
-    virtual bool getQuadTranformedPoints(QPolygonF& points, int index) const;
+        
+    // From HgQuadRenderer
+    virtual void drawQuads(QPainter* painter, const QRectF& rect, 
+        const QMatrix4x4& viewMatrix, const QMatrix4x4& projectionMatrix,
+        Qt::Orientation orientation, 
+        const QTransform& sceneTransform);    
     virtual HgImage* createNativeImage();
-    virtual QList<HgQuad*> getVisibleQuads(const QRectF& rect) const;
     virtual void setDefaultImage(QImage defaultImage);
-    
+
     // new functions
     HgVgImage* defaultImage();
-    QSize imageSize(bool mirror=false) const;
-    HgImageFader* imageFader();
     
+protected:
+
+    // From HgTransformedQuadRenderer
+    virtual HgTransformedQuad* createNativeQuad();
+
 private:
     
-    QList<HgVgQuad*> mTransformedQuads;
-    
-    QList<HgVgQuad*> mSortedQuads;
+    QTransform qtToVgTransform(QPainter* painter, const QTransform& sceneTransform, 
+        const QRectF& rect, Qt::Orientation orientation) const;
 
-    HgVgImage* mDefaultVgImage;
-
+private:    
+    HgVgImage* mDefaultVgImage;    
 };
 
 #endif