summaryrefslogtreecommitdiffstats
path: root/doc/canvas.doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/canvas.doc')
-rw-r--r--doc/canvas.doc95
1 files changed, 95 insertions, 0 deletions
diff --git a/doc/canvas.doc b/doc/canvas.doc
new file mode 100644
index 000000000..f3cf4c489
--- /dev/null
+++ b/doc/canvas.doc
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Documentation for the canvas module
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing retquirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial 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 WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page canvas.html
+
+\title Canvas Module
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise Edition
+\endlink.
+\endif
+
+The canvas module provides a highly optimized 2D graphic area called
+\l QCanvas. The canvas can contain an arbitrary number of \link
+QCanvasItem QCanvasItems \endlink. Canvas items can have an arbitrary
+shape, size and content, can be freely moved around in the canvas,
+and can be checked for collisions. Canvas items can be set to move
+across the canvas automatically and animated canvas items are
+supported with QCanvasSprite. (If you retquire 3D graphics see Qt's
+\link opengl.html OpenGL module \endlink.)
+
+The canvas module uses a document/view model. The \l QCanvasView class
+is used to show a particular view of a canvas. Multiple views can operate
+on the same canvas at the same time. Every view can use an arbitrary
+transformation matrix on the canvas which makes it easy to implement
+features such as zooming.
+
+<center><a href="qcanvas.html">
+<img src="qcanvas.png" alt="Screenshot of a canvas"></a></center>
+
+Qt provides a number of predefined \l QCanvas items as listed below.
+
+\list
+\i QCanvasItem -- An abstract base class for all canvas items.
+\i QCanvasEllipse -- An ellipse or "pie segment".
+\i QCanvasLine -- A line segment.
+\i QCanvasPolygon -- A polygon.
+\i QCanvasPolygonalItem -- A base class for items that have a
+non-rectangular shape. Most canvas items derive from this class.
+\i QCanvasRectangle -- A rectangle. The rectangle cannot be tilted or
+rotated. Rotated rectangles can be drawn using QCanvasPolygon.
+\i QCanvasSpline -- A multi-bezier spline.
+\i QCanvasSprite -- An animated pixmap.
+\i QCanvasText -- A text string.
+\endlist
+
+The two classes \l QCanvasPixmap and \l QCanvasPixmapArray are used
+by \l QCanvasSprite to show animated and moving pixmaps on the
+canvas.
+
+More specialized items can be created by inheriting from one of the
+canvas item classes. It is easiest to inherit from one of
+QCanvasItem's derived classes (usually \l QCanvasPolygonalItem) rather
+than inherit QCanvasItem directly.
+
+See \c examples/canvas for an example that shows off some of QCanvas's
+capabilities.
+
+*/