--- 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