⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 q3canvas.h

📁 奇趣公司比较新的qt/emd版本
💻 H
📖 第 1 页 / 共 2 页
字号:
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_HEADER#endif // Q3CANVAS_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -