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

📄 qcanvas-h.html

📁 QT 下载资料仅供参考
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/include/qcanvas.h:1 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>qcanvas.h Include File</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: #ffffff; color: black; }--></style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr bgcolor="#E5E5E5"><td valign=center> <a href="index.html"><font color="#004faf">Home</font></a> | <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a> | <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a> | <a href="annotated.html"><font color="#004faf">Annotated</font></a> | <a href="groups.html"><font color="#004faf">Grouped&nbsp;Classes</font></a> | <a href="functions.html"><font color="#004faf">Functions</font></a></td><td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcanvas.h</h1><p>This is the verbatim text of the qcanvas.h include file. It is provided only for illustration; the copyright remains with Trolltech.<hr><pre>/************************************************************************ $Id:  qt/qcanvas.h   3.0.5   edited Jan 30 17:06 $**** Definition of QCanvas classes**** Created : 991211**** Copyright (C) 1999-2000 Trolltech AS.  All rights reserved.**** This file is part of the canvas module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition licenses may use this** file in accordance with the Qt Commercial License Agreement provided** with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QCANVAS_H#define QCANVAS_H#ifndef QT_H#include "qscrollview.h"#include "qpixmap.h"#include "qptrlist.h"#include "qptrdict.h"#include "qbrush.h"#include "qpen.h"#include "qvaluelist.h"#include "qpointarray.h"#endif // QT_H#if !defined( QT_MODULE_CANVAS ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_CANVAS )#define QM_EXPORT_CANVAS#else#define QM_EXPORT_CANVAS Q_EXPORT#endif#ifndef QT_NO_CANVASclass QCanvasSprite;class QCanvasPolygonalItem;class QCanvasRectangle;class QCanvasPolygon;class QCanvasEllipse;class QCanvasText;class QCanvasLine;class QCanvasChunk;class QCanvas;class QCanvasItem;class QCanvasView;class QCanvasPixmap;#if defined(Q_TEMPLATEDLL)// MOC_SKIP_BEGINtemplate class QM_EXPORT_CANVAS QPtrList&lt; QCanvasItem &gt;;template class QM_EXPORT_CANVAS QPtrList&lt; QCanvasView &gt;;template class QM_EXPORT_CANVAS QValueList&lt; QCanvasItem* &gt;;// MOC_SKIP_END#endifclass QM_EXPORT_CANVAS QCanvasItemList : public QValueList&lt;QCanvasItem*&gt; {public:    void sort();    void drawUnique( QPainter&amp; painter );};class QCanvasItemExtra;class QM_EXPORT_CANVAS QCanvasItem : public Qt{public:    QCanvasItem(QCanvas* canvas);    virtual ~QCanvasItem();    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 QCanvasItem* ) const=0;    QCanvasItemList collisions(bool exact /* NO DEFAULT */ ) const;    virtual void setCanvas(QCanvas*);    virtual void draw(QPainter&amp;)=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; }#ifndef QT_NO_COMPAT    bool visible() const	{ return (bool)vis; }    bool selected() const	{ return (bool)sel; }    bool enabled() const	{ return (bool)ena; }    bool active() const	{ return (bool)act; }#endif    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;    QCanvas* canvas() const	{ return cnv; }protected:    void update() { changeChunks(); }private:    // For friendly subclasses...    friend class QCanvasPolygonalItem;    friend class QCanvasSprite;    friend class QCanvasRectangle;    friend class QCanvasPolygon;    friend class QCanvasEllipse;    friend class QCanvasText;    friend class QCanvasLine;    virtual QPointArray chunks() const;    virtual void addToChunks();    virtual void removeFromChunks();    virtual void changeChunks();    virtual bool collidesWith( const QCanvasSprite*,			       const QCanvasPolygonalItem*,			       const QCanvasRectangle*,			       const QCanvasEllipse*,			       const QCanvasText* ) const = 0;    // End of friend stuff    QCanvas* cnv;    static QCanvas* current_canvas;    double myx,myy,myz;    QCanvasItemExtra *ext;    QCanvasItemExtra&amp; extra();    uint ani:1;    uint vis:1;    uint sel:1;    uint ena:1;    uint act:1;};class QCanvasData;class QM_EXPORT_CANVAS QCanvas : public QObject{    Q_OBJECTpublic:    QCanvas( QObject* parent = 0, const char* name = 0 );    QCanvas(int w, int h);    QCanvas( QPixmap p, int h, int v, int tilewidth, int tileheight );    virtual ~QCanvas();    virtual void setTiles( QPixmap tiles, int h, int v,			   int tilewidth, int tileheight );    virtual void setBackgroundPixmap( const QPixmap&amp; p );    QPixmap backgroundPixmap() const;    virtual void setBackgroundColor( const QColor&amp; 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&gt;=0 &amp;&amp; y&gt;=0 &amp;&amp; x&lt;awidth &amp;&amp; y&lt;aheight; }    bool onCanvas( const QPoint&amp; p ) const	{ return onCanvas(p.x(),p.y()); }    bool validChunk( int x, int y ) const	{ return x&gt;=0 &amp;&amp; y&gt;=0 &amp;&amp; x&lt;chwidth &amp;&amp; y&lt;chheight; }    bool validChunk( const QPoint&amp; 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 &amp;&amp; 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&amp; area);    virtual void setUnchanged(const QRect&amp; area);    // These call setChangedChunk.    void addItemToChunk(QCanvasItem*, int i, int j);    void removeItemFromChunk(QCanvasItem*, int i, int j);    void addItemToChunkContaining(QCanvasItem*, int x, int y);    void removeItemFromChunkContaining(QCanvasItem*, int x, int y);    QCanvasItemList allItems();    QCanvasItemList collisions( const QPoint&amp;) const;    QCanvasItemList collisions( const QRect&amp;) const;    QCanvasItemList collisions( const QPointArray&amp; pa, const QCanvasItem* item,				bool exact) const;    void drawArea(const QRect&amp;, QPainter* p, bool double_buffer=FALSE);    // These are for QCanvasView to call    virtual void addView(QCanvasView*);    virtual void removeView(QCanvasView*);    void drawCanvasArea(const QRect&amp;, QPainter* p=0, bool double_buffer=TRUE);#ifndef QT_NO_TRANSFORMATIONS    void drawViewArea( QCanvasView* view, QPainter* p, const QRect&amp; r, bool dbuf );#endif    // These are for QCanvasItem to call    virtual void addItem(QCanvasItem*);    virtual void addAnimation(QCanvasItem*);    virtual void removeItem(QCanvasItem*);    virtual void removeAnimation(QCanvasItem*);    virtual void setAdvancePeriod(int ms);    virtual void setUpdatePeriod(int ms);    virtual void setDoubleBuffering(bool y);signals:    void resized();public slots:    virtual void advance();    virtual void update();protected:    virtual void drawBackground(QPainter&amp;, const QRect&amp; area);    virtual void drawForeground(QPainter&amp;, const QRect&amp; area);private:    void init(int w, int h, int chunksze=16, int maxclust=100);    QCanvasChunk&amp; chunk(int i, int j) const;    QCanvasChunk&amp; chunkContaining(int x, int y) const;    QRect changeBounds(const QRect&amp; inarea);    void drawChanges(const QRect&amp; inarea);    void ensureOffScrSize( int osw, int osh );    QPixmap offscr;    int awidth,aheight;    int chunksize;    int maxclusters;    int chwidth,chheight;    QCanvasChunk* chunks;    QCanvasData* 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(QCanvas* c);};class QCanvasViewData;class QM_EXPORT_CANVAS QCanvasView : public QScrollView{    Q_OBJECTpublic:    QCanvasView(QWidget* parent=0, const char* name=0, WFlags f=0);    QCanvasView(QCanvas* viewing, QWidget* parent=0, const char* name=0, WFlags f=0);    ~QCanvasView();    QCanvas* canvas() const	{ return viewing; }    void setCanvas(QCanvas* v);    const QWMatrix &amp;worldMatrix() const;    const QWMatrix &amp;inverseWorldMatrix() const;    bool setWorldMatrix( const QWMatrix &amp; );protected:    void drawContents( QPainter*, int cx, int cy, int cw, int ch );    QSize sizeHint() const;

⌨️ 快捷键说明

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