| /**************************************************************************** |
| ** |
| ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). |
| ** All rights reserved. |
| ** Contact: Nokia Corporation (qt-info@nokia.com) |
| ** |
| ** This file is part of the Qt3Support module of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:LGPL$ |
| ** GNU Lesser General Public License Usage |
| ** This file may be used under the terms of the GNU Lesser General Public |
| ** License version 2.1 as published by the Free Software Foundation and |
| ** appearing in the file LICENSE.LGPL included in the packaging of this |
| ** file. Please review the following information to ensure the GNU Lesser |
| ** General Public License version 2.1 requirements will be met: |
| ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
| ** |
| ** In addition, as a special exception, Nokia gives you certain additional |
| ** rights. These rights are described in the Nokia Qt LGPL Exception |
| ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU General |
| ** Public License version 3.0 as published by the Free Software Foundation |
| ** and appearing in the file LICENSE.GPL included in the packaging of this |
| ** file. Please review the following information to ensure the GNU General |
| ** Public License version 3.0 requirements will be met: |
| ** http://www.gnu.org/copyleft/gpl.html. |
| ** |
| ** Other Usage |
| ** Alternatively, this file may be used in accordance with the terms and |
| ** conditions contained in a signed written agreement between you and Nokia. |
| ** |
| ** |
| ** |
| ** |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| #ifndef Q3CANVAS_H |
| #define Q3CANVAS_H |
| |
| #include <Qt3Support/q3scrollview.h> |
| #include <QtGui/qpixmap.h> |
| #include <Qt3Support/q3ptrlist.h> |
| #include <QtGui/qbrush.h> |
| #include <QtGui/qpen.h> |
| #include <Qt3Support/q3valuelist.h> |
| #include <Qt3Support/q3pointarray.h> |
| |
| QT_BEGIN_HEADER |
| |
| QT_BEGIN_NAMESPACE |
| |
| QT_MODULE(Qt3Support) |
| |
| class Q3CanvasSprite; |
| class Q3CanvasPolygonalItem; |
| class Q3CanvasRectangle; |
| class Q3CanvasPolygon; |
| class Q3CanvasEllipse; |
| class Q3CanvasText; |
| class Q3CanvasLine; |
| class Q3CanvasChunk; |
| class Q3Canvas; |
| class Q3CanvasItem; |
| class Q3CanvasView; |
| class Q3CanvasPixmap; |
| |
| class Q_COMPAT_EXPORT Q3CanvasItemList : public Q3ValueList<Q3CanvasItem*> { |
| public: |
| void sort(); |
| void drawUnique(QPainter& painter); |
| Q3CanvasItemList operator+(const Q3CanvasItemList &l) const; |
| }; |
| |
| |
| class Q3CanvasItemExtra; |
| |
| class Q_COMPAT_EXPORT Q3CanvasItem |
| { |
| public: |
| Q3CanvasItem(Q3Canvas* canvas); |
| virtual ~Q3CanvasItem(); |
| |
| double x() const |
| { return myx; } |
| double y() const |
| { return myy; } |
| double z() const |
| { return myz; } // (depth) |
| |
| virtual void moveBy(double dx, double dy); |
| void move(double x, double y); |
| void setX(double a) { move(a,y()); } |
| void setY(double a) { move(x(),a); } |
| void setZ(double a) { myz=a; changeChunks(); } |
| |
| bool animated() const; |
| virtual void setAnimated(bool y); |
| virtual void setVelocity(double vx, double vy); |
| void setXVelocity(double vx) { setVelocity(vx,yVelocity()); } |
| void setYVelocity(double vy) { setVelocity(xVelocity(),vy); } |
| double xVelocity() const; |
| double yVelocity() const; |
| virtual void advance(int stage); |
| |
| virtual bool collidesWith(const Q3CanvasItem*) const=0; |
| |
| Q3CanvasItemList collisions(bool exact /* NO DEFAULT */) const; |
| |
| virtual void setCanvas(Q3Canvas*); |
| |
| virtual void draw(QPainter&)=0; |
| |
| void show(); |
| void hide(); |
| |
| virtual void setVisible(bool yes); |
| bool isVisible() const |
| { return (bool)vis; } |
| virtual void setSelected(bool yes); |
| bool isSelected() const |
| { return (bool)sel; } |
| virtual void setEnabled(bool yes); |
| bool isEnabled() const |
| { return (bool)ena; } |
| virtual void setActive(bool yes); |
| bool isActive() const |
| { return (bool)act; } |
| bool visible() const |
| { return (bool)vis; } |
| bool selected() const |
| { return (bool)sel; } |
| bool enabled() const |
| { return (bool)ena; } |
| bool active() const |
| { return (bool)act; } |
| |
| enum RttiValues { |
| Rtti_Item = 0, |
| Rtti_Sprite = 1, |
| Rtti_PolygonalItem = 2, |
| Rtti_Text = 3, |
| Rtti_Polygon = 4, |
| Rtti_Rectangle = 5, |
| Rtti_Ellipse = 6, |
| Rtti_Line = 7, |
| Rtti_Spline = 8 |
| }; |
| |
| virtual int rtti() const; |
| static int RTTI; |
| |
| virtual QRect boundingRect() const=0; |
| virtual QRect boundingRectAdvanced() const; |
| |
| Q3Canvas* canvas() const |
| { return cnv; } |
| |
| protected: |
| void update() { changeChunks(); } |
| |
| private: |
| // For friendly subclasses... |
| |
| friend class Q3CanvasPolygonalItem; |
| friend class Q3CanvasSprite; |
| friend class Q3CanvasRectangle; |
| friend class Q3CanvasPolygon; |
| friend class Q3CanvasEllipse; |
| friend class Q3CanvasText; |
| friend class Q3CanvasLine; |
| |
| virtual Q3PointArray chunks() const; |
| virtual void addToChunks(); |
| virtual void removeFromChunks(); |
| virtual void changeChunks(); |
| virtual bool collidesWith(const Q3CanvasSprite*, |
| const Q3CanvasPolygonalItem*, |
| const Q3CanvasRectangle*, |
| const Q3CanvasEllipse*, |
| const Q3CanvasText*) const = 0; |
| // End of friend stuff |
| |
| Q3Canvas* cnv; |
| static Q3Canvas* current_canvas; |
| double myx,myy,myz; |
| Q3CanvasItemExtra *ext; |
| Q3CanvasItemExtra& extra(); |
| uint ani:1; |
| uint vis:1; |
| uint val:1; |
| uint sel:1; |
| uint ena:1; |
| uint act:1; |
| }; |
| |
| |
| class Q3CanvasData; |
| |
| class Q_COMPAT_EXPORT Q3Canvas : public QObject |
| { |
| Q_OBJECT |
| public: |
| Q3Canvas(QObject* parent = 0, const char* name = 0); |
| Q3Canvas(int w, int h); |
| Q3Canvas(QPixmap p, int h, int v, int tilewidth, int tileheight); |
| |
| virtual ~Q3Canvas(); |
| |
| virtual void setTiles(QPixmap tiles, int h, int v, |
| int tilewidth, int tileheight); |
| virtual void setBackgroundPixmap(const QPixmap& p); |
| QPixmap backgroundPixmap() const; |
| |
| virtual void setBackgroundColor(const QColor& c); |
| QColor backgroundColor() const; |
| |
| virtual void setTile(int x, int y, int tilenum); |
| int tile(int x, int y) const |
| { return grid[x+y*htiles]; } |
| |
| int tilesHorizontally() const |
| { return htiles; } |
| int tilesVertically() const |
| { return vtiles; } |
| |
| int tileWidth() const |
| { return tilew; } |
| int tileHeight() const |
| { return tileh; } |
| |
| virtual void resize(int width, int height); |
| int width() const |
| { return awidth; } |
| int height() const |
| { return aheight; } |
| QSize size() const |
| { return QSize(awidth,aheight); } |
| QRect rect() const |
| { return QRect(0, 0, awidth, aheight); } |
| bool onCanvas(int x, int y) const |
| { return x>=0 && y>=0 && x<awidth && y<aheight; } |
| bool onCanvas(const QPoint& p) const |
| { return onCanvas(p.x(),p.y()); } |
| bool validChunk(int x, int y) const |
| { return x>=0 && y>=0 && x<chwidth && y<chheight; } |
| bool validChunk(const QPoint& p) const |
| { return validChunk(p.x(),p.y()); } |
| |
| int chunkSize() const |
| { return chunksize; } |
| virtual void retune(int chunksize, int maxclusters=100); |
| |
| bool sameChunk(int x1, int y1, int x2, int y2) const |
| { return x1/chunksize==x2/chunksize && y1/chunksize==y2/chunksize; } |
| virtual void setChangedChunk(int i, int j); |
| virtual void setChangedChunkContaining(int x, int y); |
| virtual void setAllChanged(); |
| virtual void setChanged(const QRect& area); |
| virtual void setUnchanged(const QRect& area); |
| |
| // These call setChangedChunk. |
| void addItemToChunk(Q3CanvasItem*, int i, int j); |
| void removeItemFromChunk(Q3CanvasItem*, int i, int j); |
| void addItemToChunkContaining(Q3CanvasItem*, int x, int y); |
| void removeItemFromChunkContaining(Q3CanvasItem*, int x, int y); |
| |
| Q3CanvasItemList allItems(); |
| Q3CanvasItemList collisions(const QPoint&) const; |
| Q3CanvasItemList collisions(const QRect&) const; |
| Q3CanvasItemList collisions(const Q3PointArray& pa, const Q3CanvasItem* item, |
| bool exact) const; |
| |
| void drawArea(const QRect&, QPainter* p, bool double_buffer=false); |
| |
| // These are for Q3CanvasView to call |
| virtual void addView(Q3CanvasView*); |
| virtual void removeView(Q3CanvasView*); |
| void drawCanvasArea(const QRect&, QPainter* p=0, bool double_buffer=true); |
| void drawViewArea(Q3CanvasView* view, QPainter* p, const QRect& r, bool dbuf); |
| |
| // These are for Q3CanvasItem to call |
| virtual void addItem(Q3CanvasItem*); |
| virtual void addAnimation(Q3CanvasItem*); |
| virtual void removeItem(Q3CanvasItem*); |
| virtual void removeAnimation(Q3CanvasItem*); |
| |
| virtual void setAdvancePeriod(int ms); |
| virtual void setUpdatePeriod(int ms); |
| |
| virtual void setDoubleBuffering(bool y); |
| |
| Q_SIGNALS: |
| void resized(); |
| |
| public Q_SLOTS: |
| virtual void advance(); |
| virtual void update(); |
| |
| protected: |
| virtual void drawBackground(QPainter&, const QRect& area); |
| virtual void drawForeground(QPainter&, const QRect& area); |
| |
| private: |
| void init(int w, int h, int chunksze=16, int maxclust=100); |
| |
| Q3CanvasChunk& chunk(int i, int j) const; |
| Q3CanvasChunk& chunkContaining(int x, int y) const; |
| |
| QRect changeBounds(const QRect& inarea); |
| |
| void ensureOffScrSize(int osw, int osh); |
| QPixmap offscr; |
| int awidth,aheight; |
| int chunksize; |
| int maxclusters; |
| int chwidth,chheight; |
| Q3CanvasChunk* chunks; |
| |
| Q3CanvasData* d; |
| |
| void initTiles(QPixmap p, int h, int v, int tilewidth, int tileheight); |
| ushort *grid; |
| ushort htiles; |
| ushort vtiles; |
| ushort tilew; |
| ushort tileh; |
| bool oneone; |
| QPixmap pm; |
| QTimer* update_timer; |
| QColor bgcolor; |
| bool debug_redraw_areas; |
| bool dblbuf; |
| |
| friend void qt_unview(Q3Canvas* c); |
| |
| Q_DISABLE_COPY(Q3Canvas) |
| }; |
| |
| class Q3CanvasViewData; |
| |
| class Q_COMPAT_EXPORT Q3CanvasView : public Q3ScrollView |
| { |
| Q_OBJECT |
| public: |
| |
| Q3CanvasView(QWidget* parent=0, const char* name=0, Qt::WindowFlags f=0); |
| Q3CanvasView(Q3Canvas* viewing, QWidget* parent=0, const char* name=0, Qt::WindowFlags f=0); |
| ~Q3CanvasView(); |
| |
| Q3Canvas* canvas() const |
| { return viewing; } |
| void setCanvas(Q3Canvas* v); |
| |
| const QMatrix &worldMatrix() const; |
| const QMatrix &inverseWorldMatrix() const; |
| bool setWorldMatrix(const QMatrix &); |
| |
| protected: |
| void drawContents(QPainter *p, int cx, int cy, int cw, int ch); |
| QSize sizeHint() const; |
| |
| private: |
| friend class Q3Canvas; |
| void drawContents(QPainter*); |
| Q3Canvas* viewing; |
| Q3CanvasViewData* d; |
| friend void qt_unview(Q3Canvas* c); |
| |
| private Q_SLOTS: |
| void updateContentsSize(); |
| |
| private: |
| Q_DISABLE_COPY(Q3CanvasView) |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasPixmap : public QPixmap |
| { |
| public: |
| #ifndef QT_NO_IMAGEIO |
| Q3CanvasPixmap(const QString& datafilename); |
| #endif |
| Q3CanvasPixmap(const QImage& image); |
| Q3CanvasPixmap(const QPixmap&, const QPoint& hotspot); |
| ~Q3CanvasPixmap(); |
| |
| int offsetX() const |
| { return hotx; } |
| int offsetY() const |
| { return hoty; } |
| void setOffset(int x, int y) { hotx = x; hoty = y; } |
| |
| private: |
| Q_DISABLE_COPY(Q3CanvasPixmap) |
| |
| void init(const QImage&); |
| void init(const QPixmap& pixmap, int hx, int hy); |
| |
| friend class Q3CanvasSprite; |
| friend class Q3CanvasPixmapArray; |
| friend bool qt_testCollision(const Q3CanvasSprite* s1, const Q3CanvasSprite* s2); |
| |
| int hotx,hoty; |
| |
| QImage* collision_mask; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasPixmapArray |
| { |
| public: |
| Q3CanvasPixmapArray(); |
| #ifndef QT_NO_IMAGEIO |
| Q3CanvasPixmapArray(const QString& datafilenamepattern, int framecount=0); |
| #endif |
| // this form is deprecated |
| Q3CanvasPixmapArray(Q3PtrList<QPixmap>, Q3PtrList<QPoint> hotspots); |
| |
| Q3CanvasPixmapArray(Q3ValueList<QPixmap>, Q3PointArray hotspots = Q3PointArray()); |
| ~Q3CanvasPixmapArray(); |
| |
| #ifndef QT_NO_IMAGEIO |
| bool readPixmaps(const QString& datafilenamepattern, int framecount=0); |
| bool readCollisionMasks(const QString& filenamepattern); |
| #endif |
| |
| // deprecated |
| bool operator!(); // Failure check. |
| bool isValid() const; |
| |
| Q3CanvasPixmap* image(int i) const |
| { return img ? img[i] : 0; } |
| void setImage(int i, Q3CanvasPixmap* p); |
| uint count() const |
| { return (uint)framecount; } |
| |
| private: |
| Q_DISABLE_COPY(Q3CanvasPixmapArray) |
| |
| #ifndef QT_NO_IMAGEIO |
| bool readPixmaps(const QString& datafilenamepattern, int framecount, bool maskonly); |
| #endif |
| |
| void reset(); |
| int framecount; |
| Q3CanvasPixmap** img; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasSprite : public Q3CanvasItem |
| { |
| public: |
| Q3CanvasSprite(Q3CanvasPixmapArray* array, Q3Canvas* canvas); |
| |
| void setSequence(Q3CanvasPixmapArray* seq); |
| |
| virtual ~Q3CanvasSprite(); |
| |
| void move(double x, double y); |
| virtual void move(double x, double y, int frame); |
| void setFrame(int); |
| enum FrameAnimationType { Cycle, Oscillate }; |
| virtual void setFrameAnimation(FrameAnimationType=Cycle, int step=1, int state=0); |
| int frame() const |
| { return frm; } |
| int frameCount() const |
| { return images->count(); } |
| |
| int rtti() const; |
| static int RTTI; |
| |
| bool collidesWith(const Q3CanvasItem*) const; |
| |
| QRect boundingRect() const; |
| |
| // is there a reason for these to be protected? Lars |
| //protected: |
| |
| int width() const; |
| int height() const; |
| |
| int leftEdge() const; |
| int topEdge() const; |
| int rightEdge() const; |
| int bottomEdge() const; |
| |
| int leftEdge(int nx) const; |
| int topEdge(int ny) const; |
| int rightEdge(int nx) const; |
| int bottomEdge(int ny) const; |
| Q3CanvasPixmap* image() const |
| { return images->image(frm); } |
| virtual Q3CanvasPixmap* imageAdvanced() const; |
| Q3CanvasPixmap* image(int f) const |
| { return images->image(f); } |
| virtual void advance(int stage); |
| |
| public: |
| void draw(QPainter& painter); |
| |
| private: |
| Q_DISABLE_COPY(Q3CanvasSprite) |
| |
| void addToChunks(); |
| void removeFromChunks(); |
| void changeChunks(); |
| |
| int frm; |
| ushort anim_val; |
| uint anim_state:2; |
| uint anim_type:14; |
| bool collidesWith(const Q3CanvasSprite*, |
| const Q3CanvasPolygonalItem*, |
| const Q3CanvasRectangle*, |
| const Q3CanvasEllipse*, |
| const Q3CanvasText*) const; |
| |
| friend bool qt_testCollision(const Q3CanvasSprite* s1, |
| const Q3CanvasSprite* s2); |
| |
| Q3CanvasPixmapArray* images; |
| }; |
| |
| class QPolygonalProcessor; |
| |
| class Q_COMPAT_EXPORT Q3CanvasPolygonalItem : public Q3CanvasItem |
| { |
| public: |
| Q3CanvasPolygonalItem(Q3Canvas* canvas); |
| virtual ~Q3CanvasPolygonalItem(); |
| |
| bool collidesWith(const Q3CanvasItem*) const; |
| |
| virtual void setPen(QPen p); |
| virtual void setBrush(QBrush b); |
| |
| QPen pen() const |
| { return pn; } |
| QBrush brush() const |
| { return br; } |
| |
| virtual Q3PointArray areaPoints() const=0; |
| virtual Q3PointArray areaPointsAdvanced() const; |
| QRect boundingRect() const; |
| |
| int rtti() const; |
| static int RTTI; |
| |
| protected: |
| void draw(QPainter &); |
| virtual void drawShape(QPainter &) = 0; |
| |
| bool winding() const; |
| void setWinding(bool); |
| |
| void invalidate(); |
| bool isValid() const |
| { return (bool)val; } |
| |
| private: |
| void scanPolygon(const Q3PointArray& pa, int winding, |
| QPolygonalProcessor& process) const; |
| Q3PointArray chunks() const; |
| |
| bool collidesWith(const Q3CanvasSprite*, |
| const Q3CanvasPolygonalItem*, |
| const Q3CanvasRectangle*, |
| const Q3CanvasEllipse*, |
| const Q3CanvasText*) const; |
| |
| QBrush br; |
| QPen pn; |
| uint wind:1; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasRectangle : public Q3CanvasPolygonalItem |
| { |
| public: |
| Q3CanvasRectangle(Q3Canvas* canvas); |
| Q3CanvasRectangle(const QRect&, Q3Canvas* canvas); |
| Q3CanvasRectangle(int x, int y, int width, int height, Q3Canvas* canvas); |
| |
| ~Q3CanvasRectangle(); |
| |
| int width() const; |
| int height() const; |
| void setSize(int w, int h); |
| QSize size() const |
| { return QSize(w,h); } |
| Q3PointArray areaPoints() const; |
| QRect rect() const |
| { return QRect(int(x()),int(y()),w,h); } |
| |
| bool collidesWith(const Q3CanvasItem*) const; |
| |
| int rtti() const; |
| static int RTTI; |
| |
| protected: |
| void drawShape(QPainter &); |
| Q3PointArray chunks() const; |
| |
| private: |
| bool collidesWith( const Q3CanvasSprite*, |
| const Q3CanvasPolygonalItem*, |
| const Q3CanvasRectangle*, |
| const Q3CanvasEllipse*, |
| const Q3CanvasText*) const; |
| |
| int w, h; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasPolygon : public Q3CanvasPolygonalItem |
| { |
| public: |
| Q3CanvasPolygon(Q3Canvas* canvas); |
| ~Q3CanvasPolygon(); |
| void setPoints(Q3PointArray); |
| Q3PointArray points() const; |
| void moveBy(double dx, double dy); |
| |
| Q3PointArray areaPoints() const; |
| |
| int rtti() const; |
| static int RTTI; |
| |
| protected: |
| void drawShape(QPainter &); |
| Q3PointArray poly; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasSpline : public Q3CanvasPolygon |
| { |
| public: |
| Q3CanvasSpline(Q3Canvas* canvas); |
| ~Q3CanvasSpline(); |
| |
| void setControlPoints(Q3PointArray, bool closed=true); |
| Q3PointArray controlPoints() const; |
| bool closed() const; |
| |
| int rtti() const; |
| static int RTTI; |
| |
| private: |
| void recalcPoly(); |
| Q3PointArray bez; |
| bool cl; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasLine : public Q3CanvasPolygonalItem |
| { |
| public: |
| Q3CanvasLine(Q3Canvas* canvas); |
| ~Q3CanvasLine(); |
| void setPoints(int x1, int y1, int x2, int y2); |
| |
| QPoint startPoint() const |
| { return QPoint(x1,y1); } |
| QPoint endPoint() const |
| { return QPoint(x2,y2); } |
| |
| int rtti() const; |
| static int RTTI; |
| |
| void setPen(QPen p); |
| void moveBy(double dx, double dy); |
| |
| protected: |
| void drawShape(QPainter &); |
| Q3PointArray areaPoints() const; |
| |
| private: |
| int x1,y1,x2,y2; |
| }; |
| |
| |
| class Q_COMPAT_EXPORT Q3CanvasEllipse : public Q3CanvasPolygonalItem |
| { |
| |
| public: |
| Q3CanvasEllipse(Q3Canvas* canvas); |
| Q3CanvasEllipse(int width, int height, Q3Canvas* canvas); |
| Q3CanvasEllipse(int width, int height, int startangle, int angle, |
| Q3Canvas* canvas); |
| |
| ~Q3CanvasEllipse(); |
| |
| int width() const; |
| int height() const; |
| void setSize(int w, int h); |
| void setAngles(int start, int length); |
| int angleStart() const |
| { return a1; } |
| int angleLength() const |
| { return a2; } |
| Q3PointArray areaPoints() const; |
| |
| bool collidesWith(const Q3CanvasItem*) const; |
| |
| int rtti() const; |
| static int RTTI; |
| |
| protected: |
| void drawShape(QPainter &); |
| |
| private: |
| bool collidesWith(const Q3CanvasSprite*, |
| const Q3CanvasPolygonalItem*, |
| const Q3CanvasRectangle*, |
| const Q3CanvasEllipse*, |
| const Q3CanvasText*) const; |
| int w, h; |
| int a1, a2; |
| }; |
| |
| |
| class Q3CanvasTextExtra; |
| |
| class Q_COMPAT_EXPORT Q3CanvasText : public Q3CanvasItem |
| { |
| public: |
| Q3CanvasText(Q3Canvas* canvas); |
| Q3CanvasText(const QString&, Q3Canvas* canvas); |
| Q3CanvasText(const QString&, QFont, Q3Canvas* canvas); |
| |
| virtual ~Q3CanvasText(); |
| |
| void setText(const QString&); |
| void setFont(const QFont&); |
| void setColor(const QColor&); |
| QString text() const; |
| QFont font() const; |
| QColor color() const; |
| |
| void moveBy(double dx, double dy); |
| |
| int textFlags() const |
| { return flags; } |
| void setTextFlags(int); |
| |
| QRect boundingRect() const; |
| |
| bool collidesWith(const Q3CanvasItem*) const; |
| |
| int rtti() const; |
| static int RTTI; |
| |
| protected: |
| virtual void draw(QPainter&); |
| |
| private: |
| Q_DISABLE_COPY(Q3CanvasText) |
| |
| void addToChunks(); |
| void removeFromChunks(); |
| void changeChunks(); |
| |
| void setRect(); |
| QRect brect; |
| QString txt; |
| int flags; |
| QFont fnt; |
| QColor col; |
| Q3CanvasTextExtra* extra; |
| |
| bool collidesWith(const Q3CanvasSprite*, |
| const Q3CanvasPolygonalItem*, |
| const Q3CanvasRectangle*, |
| const Q3CanvasEllipse*, |
| const Q3CanvasText*) const; |
| }; |
| |
| QT_END_NAMESPACE |
| |
| QT_END_HEADER |
| |
| #endif // Q3CANVAS_H |