diff -r e48454f237ca -r 49c70dcc3f17 ganeswidgets/inc/hgquadrenderer.h --- a/ganeswidgets/inc/hgquadrenderer.h Mon May 03 13:32:54 2010 +0300 +++ b/ganeswidgets/inc/hgquadrenderer.h Fri May 14 16:57:01 2010 +0300 @@ -29,7 +29,7 @@ class QMatrix4x4; class QPolygonF; class HgImage; -class HgImageFader; + /** * * Abstract class to be inherited by differend quad renderer implementations. @@ -58,26 +58,25 @@ * @return quad under the pointer position or -1 if nothing is there. */ virtual HgQuad* getQuadAt(const QPointF& point) const = 0; + /** - * Transform quads with view and projection transformation for rendering. - * @param view view transformation matrix. - * @param projection transformation matrix. - * @rect window rectangle. + * Rasterize 3D quads to 2D screen using painter or underlying Native graphics API. + * This should be called inside Widgets draw method. + * @param painter QPainter-object. + * @param rect window rectangle. + * @param viewMatrix view matrix + * @param projectionMatrix projection matrix + * @param orientation current screen orientation */ - virtual void transformQuads(const QMatrix4x4& view, const QMatrix4x4& proj, - const QRectF& rect)=0; - /** - * Draw transformed quads using painter or underlying Native graphics API. - * This should be called inside Widgets draw method. - * @param rect window rectangle. - * @param painter QPainter-object. - */ - virtual void drawQuads(const QRectF& rect, QPainter* painter)=0; + virtual void drawQuads(QPainter* painter, const QRectF& rect, + const QMatrix4x4& viewMatrix, const QMatrix4x4& projectionMatrix, + const Qt::Orientation orientation, + const QTransform& sceneTransform)=0; /** * */ - virtual bool getQuadTranformedPoints(QPolygonF& points, int index) const=0; + virtual bool getQuadTranformedPointsByUserData(QPolygonF& points, const QVariant& userData) const=0; /** * @@ -88,17 +87,15 @@ * */ virtual HgImage* createNativeImage()=0; - - /** - * - */ - virtual void setImageFader(HgImageFader* fader); - + /** * */ virtual QList getVisibleQuads(const QRectF& rect) const=0; + /** + * + */ virtual void setDefaultImage(QImage defaultImage); /** @@ -116,14 +113,24 @@ */ virtual QImage getDefaultImage() const; + /** + * + */ + virtual void enableReflections(bool enabled); + + /** + * + */ + virtual bool reflectionsEnabled() const; + protected: HgQuadRenderer(int maxQuads); QList mQuads; qreal mMirroringPlaneY; - HgImageFader* mImageFader; QImage mDefaultImage; QVector2D mTranslation; + bool mReflectionsEnabled; }; #endif