diff --git a/doc/src/core/implicit-sharing.qdoc b/doc/src/core/implicit-sharing.qdoc new file mode 100644 index 0000000000..9e839edb24 --- /dev/null +++ b/doc/src/core/implicit-sharing.qdoc @@ -0,0 +1,138 @@ +/**************************************************************************** +** +** 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 documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** 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$ +** +****************************************************************************/ + +/* TODO: Move some of the documentation from QSharedDataPointer into this + document. */ + +/*! + \group shared + \title Implicitly Shared Classes +*/ + +/*! + \page implicit-sharing.html + \title Implicit Sharing + \ingroup qt-basic-concepts + + \brief Reference counting for fast copying. + + \keyword implicit data sharing + \keyword implicit sharing + \keyword implicitly shared + \keyword reference counting + \keyword shared implicitly + \keyword shared classes + + Many C++ classes in Qt use implicit data sharing to maximize + resource usage and minimize copying. Implicitly shared classes are + both safe and efficient when passed as arguments, because only a + pointer to the data is passed around, and the data is copied only + if and when a function writes to it, i.e., \e {copy-on-write}. + + \tableofcontents + + \section1 Overview + + A shared class consists of a pointer to a shared data block that + contains a reference count and the data. + + When a shared object is created, it sets the reference count to 1. The + reference count is incremented whenever a new object references the + shared data, and decremented when the object dereferences the shared + data. The shared data is deleted when the reference count becomes + zero. + + \keyword deep copy + \keyword shallow copy + + When dealing with shared objects, there are two ways of copying an + object. We usually speak about \e deep and \e shallow copies. A deep + copy implies duplicating an object. A shallow copy is a reference + copy, i.e. just a pointer to a shared data block. Making a deep copy + can be expensive in terms of memory and CPU. Making a shallow copy is + very fast, because it only involves setting a pointer and incrementing + the reference count. + + Object assignment (with operator=()) for implicitly shared objects is + implemented using shallow copies. + + The benefit of sharing is that a program does not need to duplicate + data unnecessarily, which results in lower memory use and less copying + of data. Objects can easily be assigned, sent as function arguments, + and returned from functions. + + Implicit sharing takes place behind the scenes; the programmer + does not need to worry about it. Even in multithreaded + applications, implicit sharing takes place, as explained in + \l{Thread-Support in Qt Modules#Threads and Implicitly Shared Classes} + {Threads and Implicitly Shared Classes}. + + When implementing your own implicitly shared classes, use the + QSharedData and QSharedDataPointer classes. + + \section1 Implicit Sharing in Detail + + Implicit sharing automatically detaches the object from a shared + block if the object is about to change and the reference count is + greater than one. (This is often called \e {copy-on-write} or + \e {value semantics}.) + + An implicitly shared class has total control of its internal data. In + any member functions that modify its data, it automatically detaches + before modifying the data. + + The QPen class, which uses implicit sharing, detaches from the shared + data in all member functions that change the internal data. + + Code fragment: + \snippet doc/src/snippets/code/doc_src_groups.cpp 0 + + + \section1 List of Classes + + The classes listed below automatically detach from common data if + an object is about to be changed. The programmer will not even + notice that the objects are shared. Thus you should treat + separate instances of them as separate objects. They will always + behave as separate objects but with the added benefit of sharing + data whenever possible. For this reason, you can pass instances + of these classes as arguments to functions by value without + concern for the copying overhead. + + Example: + \snippet doc/src/snippets/code/doc_src_groups.cpp 1 + + In this example, \c p1 and \c p2 share data until QPainter::begin() + is called for \c p2, because painting a pixmap will modify it. + + \warning Do not copy an implicitly shared container (QMap, + QVector, etc.) while you are iterating over it using an non-const + \l{STL-style iterator}. + + \keyword implicitly shared classes + \annotatedlist shared +*/ diff --git a/doc/src/images/abstract-connections.png b/doc/src/images/abstract-connections.png new file mode 100644 index 0000000000..18d2f4e3b7 Binary files /dev/null and b/doc/src/images/abstract-connections.png differ diff --git a/doc/src/images/alphafill.png b/doc/src/images/alphafill.png new file mode 100644 index 0000000000..3feff296df Binary files /dev/null and b/doc/src/images/alphafill.png differ diff --git a/doc/src/images/bearings.png b/doc/src/images/bearings.png new file mode 100644 index 0000000000..00108923d0 Binary files /dev/null and b/doc/src/images/bearings.png differ diff --git a/doc/src/images/brush-outline.png b/doc/src/images/brush-outline.png new file mode 100644 index 0000000000..f560c9faf5 Binary files /dev/null and b/doc/src/images/brush-outline.png differ diff --git a/doc/src/images/coordinatesystem-analogclock.png b/doc/src/images/coordinatesystem-analogclock.png new file mode 100644 index 0000000000..16e3091b77 Binary files /dev/null and b/doc/src/images/coordinatesystem-analogclock.png differ diff --git a/doc/src/images/coordinatesystem-line-antialias.png b/doc/src/images/coordinatesystem-line-antialias.png new file mode 100644 index 0000000000..90dfa8730e Binary files /dev/null and b/doc/src/images/coordinatesystem-line-antialias.png differ diff --git a/doc/src/images/coordinatesystem-line-raster.png b/doc/src/images/coordinatesystem-line-raster.png new file mode 100644 index 0000000000..65201bde9f Binary files /dev/null and b/doc/src/images/coordinatesystem-line-raster.png differ diff --git a/doc/src/images/coordinatesystem-line.png b/doc/src/images/coordinatesystem-line.png new file mode 100644 index 0000000000..fbf6873084 Binary files /dev/null and b/doc/src/images/coordinatesystem-line.png differ diff --git a/doc/src/images/coordinatesystem-rect-antialias.png b/doc/src/images/coordinatesystem-rect-antialias.png new file mode 100644 index 0000000000..162e1df9cb Binary files /dev/null and b/doc/src/images/coordinatesystem-rect-antialias.png differ diff --git a/doc/src/images/coordinatesystem-rect-raster.png b/doc/src/images/coordinatesystem-rect-raster.png new file mode 100644 index 0000000000..be3690d6ad Binary files /dev/null and b/doc/src/images/coordinatesystem-rect-raster.png differ diff --git a/doc/src/images/coordinatesystem-rect.png b/doc/src/images/coordinatesystem-rect.png new file mode 100644 index 0000000000..76c06befd6 Binary files /dev/null and b/doc/src/images/coordinatesystem-rect.png differ diff --git a/doc/src/images/cursor-arrow.png b/doc/src/images/cursor-arrow.png new file mode 100644 index 0000000000..a69ef4eb61 Binary files /dev/null and b/doc/src/images/cursor-arrow.png differ diff --git a/doc/src/images/cursor-busy.png b/doc/src/images/cursor-busy.png new file mode 100644 index 0000000000..53717e4992 Binary files /dev/null and b/doc/src/images/cursor-busy.png differ diff --git a/doc/src/images/cursor-closedhand.png b/doc/src/images/cursor-closedhand.png new file mode 100644 index 0000000000..b78dd1dac5 Binary files /dev/null and b/doc/src/images/cursor-closedhand.png differ diff --git a/doc/src/images/cursor-cross.png b/doc/src/images/cursor-cross.png new file mode 100644 index 0000000000..fe38e74480 Binary files /dev/null and b/doc/src/images/cursor-cross.png differ diff --git a/doc/src/images/cursor-forbidden.png b/doc/src/images/cursor-forbidden.png new file mode 100644 index 0000000000..2b08c4e2a3 Binary files /dev/null and b/doc/src/images/cursor-forbidden.png differ diff --git a/doc/src/images/cursor-hand.png b/doc/src/images/cursor-hand.png new file mode 100644 index 0000000000..d2004aefa7 Binary files /dev/null and b/doc/src/images/cursor-hand.png differ diff --git a/doc/src/images/cursor-hsplit.png b/doc/src/images/cursor-hsplit.png new file mode 100644 index 0000000000..a5667e3ffb Binary files /dev/null and b/doc/src/images/cursor-hsplit.png differ diff --git a/doc/src/images/cursor-ibeam.png b/doc/src/images/cursor-ibeam.png new file mode 100644 index 0000000000..097fc5fa72 Binary files /dev/null and b/doc/src/images/cursor-ibeam.png differ diff --git a/doc/src/images/cursor-openhand.png b/doc/src/images/cursor-openhand.png new file mode 100644 index 0000000000..9181c859ed Binary files /dev/null and b/doc/src/images/cursor-openhand.png differ diff --git a/doc/src/images/cursor-sizeall.png b/doc/src/images/cursor-sizeall.png new file mode 100644 index 0000000000..69f13eb347 Binary files /dev/null and b/doc/src/images/cursor-sizeall.png differ diff --git a/doc/src/images/cursor-sizeb.png b/doc/src/images/cursor-sizeb.png new file mode 100644 index 0000000000..f37d7b91e8 Binary files /dev/null and b/doc/src/images/cursor-sizeb.png differ diff --git a/doc/src/images/cursor-sizef.png b/doc/src/images/cursor-sizef.png new file mode 100644 index 0000000000..3b127a05d3 Binary files /dev/null and b/doc/src/images/cursor-sizef.png differ diff --git a/doc/src/images/cursor-sizeh.png b/doc/src/images/cursor-sizeh.png new file mode 100644 index 0000000000..a9f40cbc3d Binary files /dev/null and b/doc/src/images/cursor-sizeh.png differ diff --git a/doc/src/images/cursor-sizev.png b/doc/src/images/cursor-sizev.png new file mode 100644 index 0000000000..1edbab27a5 Binary files /dev/null and b/doc/src/images/cursor-sizev.png differ diff --git a/doc/src/images/cursor-uparrow.png b/doc/src/images/cursor-uparrow.png new file mode 100644 index 0000000000..d3e70ef4c2 Binary files /dev/null and b/doc/src/images/cursor-uparrow.png differ diff --git a/doc/src/images/cursor-vsplit.png b/doc/src/images/cursor-vsplit.png new file mode 100644 index 0000000000..1beda2570e Binary files /dev/null and b/doc/src/images/cursor-vsplit.png differ diff --git a/doc/src/images/cursor-wait.png b/doc/src/images/cursor-wait.png new file mode 100644 index 0000000000..69056c479e Binary files /dev/null and b/doc/src/images/cursor-wait.png differ diff --git a/doc/src/images/cursor-whatsthis.png b/doc/src/images/cursor-whatsthis.png new file mode 100644 index 0000000000..b47601c378 Binary files /dev/null and b/doc/src/images/cursor-whatsthis.png differ diff --git a/doc/src/images/javaiterators1.png b/doc/src/images/javaiterators1.png new file mode 100644 index 0000000000..7dfcde0188 Binary files /dev/null and b/doc/src/images/javaiterators1.png differ diff --git a/doc/src/images/javaiterators2.png b/doc/src/images/javaiterators2.png new file mode 100644 index 0000000000..c04e3ccf88 Binary files /dev/null and b/doc/src/images/javaiterators2.png differ diff --git a/doc/src/images/modelview-begin-append-columns.png b/doc/src/images/modelview-begin-append-columns.png new file mode 100644 index 0000000000..8d13b178d8 Binary files /dev/null and b/doc/src/images/modelview-begin-append-columns.png differ diff --git a/doc/src/images/modelview-begin-append-rows.png b/doc/src/images/modelview-begin-append-rows.png new file mode 100644 index 0000000000..50d04c3e67 Binary files /dev/null and b/doc/src/images/modelview-begin-append-rows.png differ diff --git a/doc/src/images/modelview-begin-insert-columns.png b/doc/src/images/modelview-begin-insert-columns.png new file mode 100644 index 0000000000..30eeb8280e Binary files /dev/null and b/doc/src/images/modelview-begin-insert-columns.png differ diff --git a/doc/src/images/modelview-begin-insert-rows.png b/doc/src/images/modelview-begin-insert-rows.png new file mode 100644 index 0000000000..b4d6eda57d Binary files /dev/null and b/doc/src/images/modelview-begin-insert-rows.png differ diff --git a/doc/src/images/modelview-begin-remove-columns.png b/doc/src/images/modelview-begin-remove-columns.png new file mode 100644 index 0000000000..aee60e01ec Binary files /dev/null and b/doc/src/images/modelview-begin-remove-columns.png differ diff --git a/doc/src/images/modelview-begin-remove-rows.png b/doc/src/images/modelview-begin-remove-rows.png new file mode 100644 index 0000000000..8e9518718e Binary files /dev/null and b/doc/src/images/modelview-begin-remove-rows.png differ diff --git a/doc/src/images/modelview-move-rows-1.png b/doc/src/images/modelview-move-rows-1.png new file mode 100644 index 0000000000..b629a72dd4 Binary files /dev/null and b/doc/src/images/modelview-move-rows-1.png differ diff --git a/doc/src/images/modelview-move-rows-2.png b/doc/src/images/modelview-move-rows-2.png new file mode 100644 index 0000000000..674ca18f78 Binary files /dev/null and b/doc/src/images/modelview-move-rows-2.png differ diff --git a/doc/src/images/modelview-move-rows-3.png b/doc/src/images/modelview-move-rows-3.png new file mode 100644 index 0000000000..5445dd599c Binary files /dev/null and b/doc/src/images/modelview-move-rows-3.png differ diff --git a/doc/src/images/modelview-move-rows-4.png b/doc/src/images/modelview-move-rows-4.png new file mode 100644 index 0000000000..ecd65bac6c Binary files /dev/null and b/doc/src/images/modelview-move-rows-4.png differ diff --git a/doc/src/images/paintsystem-icon.png b/doc/src/images/paintsystem-icon.png new file mode 100644 index 0000000000..4623db0761 Binary files /dev/null and b/doc/src/images/paintsystem-icon.png differ diff --git a/doc/src/images/palette.png b/doc/src/images/palette.png new file mode 100644 index 0000000000..832a5a59d9 Binary files /dev/null and b/doc/src/images/palette.png differ diff --git a/doc/src/images/qcolor-cmyk.png b/doc/src/images/qcolor-cmyk.png new file mode 100644 index 0000000000..dfe8f67a31 Binary files /dev/null and b/doc/src/images/qcolor-cmyk.png differ diff --git a/doc/src/images/qcolor-hsv.png b/doc/src/images/qcolor-hsv.png new file mode 100644 index 0000000000..49fdf77222 Binary files /dev/null and b/doc/src/images/qcolor-hsv.png differ diff --git a/doc/src/images/qcolor-hue.png b/doc/src/images/qcolor-hue.png new file mode 100644 index 0000000000..144b27c87a Binary files /dev/null and b/doc/src/images/qcolor-hue.png differ diff --git a/doc/src/images/qcolor-rgb.png b/doc/src/images/qcolor-rgb.png new file mode 100644 index 0000000000..fea4c63fd7 Binary files /dev/null and b/doc/src/images/qcolor-rgb.png differ diff --git a/doc/src/images/qcolor-saturation.png b/doc/src/images/qcolor-saturation.png new file mode 100644 index 0000000000..f28776aff5 Binary files /dev/null and b/doc/src/images/qcolor-saturation.png differ diff --git a/doc/src/images/qcolor-value.png b/doc/src/images/qcolor-value.png new file mode 100644 index 0000000000..0e069123a9 Binary files /dev/null and b/doc/src/images/qcolor-value.png differ diff --git a/doc/src/images/qeasingcurve-inback.png b/doc/src/images/qeasingcurve-inback.png new file mode 100644 index 0000000000..0064cb341c Binary files /dev/null and b/doc/src/images/qeasingcurve-inback.png differ diff --git a/doc/src/images/qeasingcurve-inbounce.png b/doc/src/images/qeasingcurve-inbounce.png new file mode 100644 index 0000000000..eaa64f8c41 Binary files /dev/null and b/doc/src/images/qeasingcurve-inbounce.png differ diff --git a/doc/src/images/qeasingcurve-incirc.png b/doc/src/images/qeasingcurve-incirc.png new file mode 100644 index 0000000000..7bd0f09d41 Binary files /dev/null and b/doc/src/images/qeasingcurve-incirc.png differ diff --git a/doc/src/images/qeasingcurve-incubic.png b/doc/src/images/qeasingcurve-incubic.png new file mode 100644 index 0000000000..1ac9eafba5 Binary files /dev/null and b/doc/src/images/qeasingcurve-incubic.png differ diff --git a/doc/src/images/qeasingcurve-inelastic.png b/doc/src/images/qeasingcurve-inelastic.png new file mode 100644 index 0000000000..f976b5a576 Binary files /dev/null and b/doc/src/images/qeasingcurve-inelastic.png differ diff --git a/doc/src/images/qeasingcurve-inexpo.png b/doc/src/images/qeasingcurve-inexpo.png new file mode 100644 index 0000000000..1af3652985 Binary files /dev/null and b/doc/src/images/qeasingcurve-inexpo.png differ diff --git a/doc/src/images/qeasingcurve-inoutback.png b/doc/src/images/qeasingcurve-inoutback.png new file mode 100644 index 0000000000..480bc051ef Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutback.png differ diff --git a/doc/src/images/qeasingcurve-inoutbounce.png b/doc/src/images/qeasingcurve-inoutbounce.png new file mode 100644 index 0000000000..de623091cf Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutbounce.png differ diff --git a/doc/src/images/qeasingcurve-inoutcirc.png b/doc/src/images/qeasingcurve-inoutcirc.png new file mode 100644 index 0000000000..b4be8ac21e Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutcirc.png differ diff --git a/doc/src/images/qeasingcurve-inoutcubic.png b/doc/src/images/qeasingcurve-inoutcubic.png new file mode 100644 index 0000000000..49dfbef1b6 Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutcubic.png differ diff --git a/doc/src/images/qeasingcurve-inoutelastic.png b/doc/src/images/qeasingcurve-inoutelastic.png new file mode 100644 index 0000000000..5b0e54a019 Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutelastic.png differ diff --git a/doc/src/images/qeasingcurve-inoutexpo.png b/doc/src/images/qeasingcurve-inoutexpo.png new file mode 100644 index 0000000000..776984a113 Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutexpo.png differ diff --git a/doc/src/images/qeasingcurve-inoutquad.png b/doc/src/images/qeasingcurve-inoutquad.png new file mode 100644 index 0000000000..264333085a Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutquad.png differ diff --git a/doc/src/images/qeasingcurve-inoutquart.png b/doc/src/images/qeasingcurve-inoutquart.png new file mode 100644 index 0000000000..31fc0c8852 Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutquart.png differ diff --git a/doc/src/images/qeasingcurve-inoutquint.png b/doc/src/images/qeasingcurve-inoutquint.png new file mode 100644 index 0000000000..4d7a745be6 Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutquint.png differ diff --git a/doc/src/images/qeasingcurve-inoutsine.png b/doc/src/images/qeasingcurve-inoutsine.png new file mode 100644 index 0000000000..012ff751c9 Binary files /dev/null and b/doc/src/images/qeasingcurve-inoutsine.png differ diff --git a/doc/src/images/qeasingcurve-inquad.png b/doc/src/images/qeasingcurve-inquad.png new file mode 100644 index 0000000000..e697c208a5 Binary files /dev/null and b/doc/src/images/qeasingcurve-inquad.png differ diff --git a/doc/src/images/qeasingcurve-inquart.png b/doc/src/images/qeasingcurve-inquart.png new file mode 100644 index 0000000000..6d6517551e Binary files /dev/null and b/doc/src/images/qeasingcurve-inquart.png differ diff --git a/doc/src/images/qeasingcurve-inquint.png b/doc/src/images/qeasingcurve-inquint.png new file mode 100644 index 0000000000..faaaea71fd Binary files /dev/null and b/doc/src/images/qeasingcurve-inquint.png differ diff --git a/doc/src/images/qeasingcurve-insine.png b/doc/src/images/qeasingcurve-insine.png new file mode 100644 index 0000000000..09449034b5 Binary files /dev/null and b/doc/src/images/qeasingcurve-insine.png differ diff --git a/doc/src/images/qeasingcurve-linear.png b/doc/src/images/qeasingcurve-linear.png new file mode 100644 index 0000000000..fb3aaf3541 Binary files /dev/null and b/doc/src/images/qeasingcurve-linear.png differ diff --git a/doc/src/images/qeasingcurve-outback.png b/doc/src/images/qeasingcurve-outback.png new file mode 100644 index 0000000000..83b3fa233f Binary files /dev/null and b/doc/src/images/qeasingcurve-outback.png differ diff --git a/doc/src/images/qeasingcurve-outbounce.png b/doc/src/images/qeasingcurve-outbounce.png new file mode 100644 index 0000000000..27ac979642 Binary files /dev/null and b/doc/src/images/qeasingcurve-outbounce.png differ diff --git a/doc/src/images/qeasingcurve-outcirc.png b/doc/src/images/qeasingcurve-outcirc.png new file mode 100644 index 0000000000..00193700e0 Binary files /dev/null and b/doc/src/images/qeasingcurve-outcirc.png differ diff --git a/doc/src/images/qeasingcurve-outcubic.png b/doc/src/images/qeasingcurve-outcubic.png new file mode 100644 index 0000000000..45477c045a Binary files /dev/null and b/doc/src/images/qeasingcurve-outcubic.png differ diff --git a/doc/src/images/qeasingcurve-outelastic.png b/doc/src/images/qeasingcurve-outelastic.png new file mode 100644 index 0000000000..1d407ed845 Binary files /dev/null and b/doc/src/images/qeasingcurve-outelastic.png differ diff --git a/doc/src/images/qeasingcurve-outexpo.png b/doc/src/images/qeasingcurve-outexpo.png new file mode 100644 index 0000000000..56851554ed Binary files /dev/null and b/doc/src/images/qeasingcurve-outexpo.png differ diff --git a/doc/src/images/qeasingcurve-outinback.png b/doc/src/images/qeasingcurve-outinback.png new file mode 100644 index 0000000000..4700ab02e8 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinback.png differ diff --git a/doc/src/images/qeasingcurve-outinbounce.png b/doc/src/images/qeasingcurve-outinbounce.png new file mode 100644 index 0000000000..12cc1a8bd4 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinbounce.png differ diff --git a/doc/src/images/qeasingcurve-outincirc.png b/doc/src/images/qeasingcurve-outincirc.png new file mode 100644 index 0000000000..c8a5c86a23 Binary files /dev/null and b/doc/src/images/qeasingcurve-outincirc.png differ diff --git a/doc/src/images/qeasingcurve-outincubic.png b/doc/src/images/qeasingcurve-outincubic.png new file mode 100644 index 0000000000..42af870d99 Binary files /dev/null and b/doc/src/images/qeasingcurve-outincubic.png differ diff --git a/doc/src/images/qeasingcurve-outinelastic.png b/doc/src/images/qeasingcurve-outinelastic.png new file mode 100644 index 0000000000..308be57900 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinelastic.png differ diff --git a/doc/src/images/qeasingcurve-outinexpo.png b/doc/src/images/qeasingcurve-outinexpo.png new file mode 100644 index 0000000000..0692baa264 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinexpo.png differ diff --git a/doc/src/images/qeasingcurve-outinquad.png b/doc/src/images/qeasingcurve-outinquad.png new file mode 100644 index 0000000000..9e3cd83896 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinquad.png differ diff --git a/doc/src/images/qeasingcurve-outinquart.png b/doc/src/images/qeasingcurve-outinquart.png new file mode 100644 index 0000000000..9a3c16f122 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinquart.png differ diff --git a/doc/src/images/qeasingcurve-outinquint.png b/doc/src/images/qeasingcurve-outinquint.png new file mode 100644 index 0000000000..add9feb26f Binary files /dev/null and b/doc/src/images/qeasingcurve-outinquint.png differ diff --git a/doc/src/images/qeasingcurve-outinsine.png b/doc/src/images/qeasingcurve-outinsine.png new file mode 100644 index 0000000000..4bc2aaf9e3 Binary files /dev/null and b/doc/src/images/qeasingcurve-outinsine.png differ diff --git a/doc/src/images/qeasingcurve-outquad.png b/doc/src/images/qeasingcurve-outquad.png new file mode 100644 index 0000000000..c505ff9e7b Binary files /dev/null and b/doc/src/images/qeasingcurve-outquad.png differ diff --git a/doc/src/images/qeasingcurve-outquart.png b/doc/src/images/qeasingcurve-outquart.png new file mode 100644 index 0000000000..6eac058d18 Binary files /dev/null and b/doc/src/images/qeasingcurve-outquart.png differ diff --git a/doc/src/images/qeasingcurve-outquint.png b/doc/src/images/qeasingcurve-outquint.png new file mode 100644 index 0000000000..77a9ad417f Binary files /dev/null and b/doc/src/images/qeasingcurve-outquint.png differ diff --git a/doc/src/images/qeasingcurve-outsine.png b/doc/src/images/qeasingcurve-outsine.png new file mode 100644 index 0000000000..d135b2f98c Binary files /dev/null and b/doc/src/images/qeasingcurve-outsine.png differ diff --git a/doc/src/images/qgradient-conical.png b/doc/src/images/qgradient-conical.png new file mode 100644 index 0000000000..cf06b70db6 Binary files /dev/null and b/doc/src/images/qgradient-conical.png differ diff --git a/doc/src/images/qgradient-linear.png b/doc/src/images/qgradient-linear.png new file mode 100644 index 0000000000..5a5e880de7 Binary files /dev/null and b/doc/src/images/qgradient-linear.png differ diff --git a/doc/src/images/qgradient-radial.png b/doc/src/images/qgradient-radial.png new file mode 100644 index 0000000000..95b9e9c3c9 Binary files /dev/null and b/doc/src/images/qgradient-radial.png differ diff --git a/doc/src/images/qimage-32bit_scaled.png b/doc/src/images/qimage-32bit_scaled.png new file mode 100644 index 0000000000..6932327456 Binary files /dev/null and b/doc/src/images/qimage-32bit_scaled.png differ diff --git a/doc/src/images/qimage-8bit_scaled.png b/doc/src/images/qimage-8bit_scaled.png new file mode 100644 index 0000000000..7cbf0f1e29 Binary files /dev/null and b/doc/src/images/qimage-8bit_scaled.png differ diff --git a/doc/src/images/qline-coordinates.png b/doc/src/images/qline-coordinates.png new file mode 100644 index 0000000000..ac4fb980ac Binary files /dev/null and b/doc/src/images/qline-coordinates.png differ diff --git a/doc/src/images/qline-point.png b/doc/src/images/qline-point.png new file mode 100644 index 0000000000..3bc3664a20 Binary files /dev/null and b/doc/src/images/qline-point.png differ diff --git a/doc/src/images/qlineargradient-pad.png b/doc/src/images/qlineargradient-pad.png new file mode 100644 index 0000000000..d77eb3dc3d Binary files /dev/null and b/doc/src/images/qlineargradient-pad.png differ diff --git a/doc/src/images/qlineargradient-reflect.png b/doc/src/images/qlineargradient-reflect.png new file mode 100644 index 0000000000..dd12665051 Binary files /dev/null and b/doc/src/images/qlineargradient-reflect.png differ diff --git a/doc/src/images/qlineargradient-repeat.png b/doc/src/images/qlineargradient-repeat.png new file mode 100644 index 0000000000..e38203c438 Binary files /dev/null and b/doc/src/images/qlineargradient-repeat.png differ diff --git a/doc/src/images/qlinef-angle-identicaldirection.png b/doc/src/images/qlinef-angle-identicaldirection.png new file mode 100644 index 0000000000..18d632321b Binary files /dev/null and b/doc/src/images/qlinef-angle-identicaldirection.png differ diff --git a/doc/src/images/qlinef-angle-oppositedirection.png b/doc/src/images/qlinef-angle-oppositedirection.png new file mode 100644 index 0000000000..bf52cfe011 Binary files /dev/null and b/doc/src/images/qlinef-angle-oppositedirection.png differ diff --git a/doc/src/images/qlinef-bounded.png b/doc/src/images/qlinef-bounded.png new file mode 100644 index 0000000000..136dd50304 Binary files /dev/null and b/doc/src/images/qlinef-bounded.png differ diff --git a/doc/src/images/qlinef-unbounded.png b/doc/src/images/qlinef-unbounded.png new file mode 100644 index 0000000000..75ead98ff2 Binary files /dev/null and b/doc/src/images/qlinef-unbounded.png differ diff --git a/doc/src/images/qmatrix-combinedtransformation.png b/doc/src/images/qmatrix-combinedtransformation.png new file mode 100644 index 0000000000..f791bfa917 Binary files /dev/null and b/doc/src/images/qmatrix-combinedtransformation.png differ diff --git a/doc/src/images/qmatrix-simpletransformation.png b/doc/src/images/qmatrix-simpletransformation.png new file mode 100644 index 0000000000..dde8f4bc58 Binary files /dev/null and b/doc/src/images/qmatrix-simpletransformation.png differ diff --git a/doc/src/images/qpainter-affinetransformations.png b/doc/src/images/qpainter-affinetransformations.png new file mode 100644 index 0000000000..fe2f9a072b Binary files /dev/null and b/doc/src/images/qpainter-affinetransformations.png differ diff --git a/doc/src/images/qpainter-arc.png b/doc/src/images/qpainter-arc.png new file mode 100644 index 0000000000..8cb9cec96b Binary files /dev/null and b/doc/src/images/qpainter-arc.png differ diff --git a/doc/src/images/qpainter-basicdrawing.png b/doc/src/images/qpainter-basicdrawing.png new file mode 100644 index 0000000000..3be48c8737 Binary files /dev/null and b/doc/src/images/qpainter-basicdrawing.png differ diff --git a/doc/src/images/qpainter-chord.png b/doc/src/images/qpainter-chord.png new file mode 100644 index 0000000000..a8090861a0 Binary files /dev/null and b/doc/src/images/qpainter-chord.png differ diff --git a/doc/src/images/qpainter-clock.png b/doc/src/images/qpainter-clock.png new file mode 100644 index 0000000000..3634754161 Binary files /dev/null and b/doc/src/images/qpainter-clock.png differ diff --git a/doc/src/images/qpainter-compositiondemo.png b/doc/src/images/qpainter-compositiondemo.png new file mode 100644 index 0000000000..40f62c75be Binary files /dev/null and b/doc/src/images/qpainter-compositiondemo.png differ diff --git a/doc/src/images/qpainter-concentriccircles.png b/doc/src/images/qpainter-concentriccircles.png new file mode 100644 index 0000000000..4889dcd76d Binary files /dev/null and b/doc/src/images/qpainter-concentriccircles.png differ diff --git a/doc/src/images/qpainter-ellipse.png b/doc/src/images/qpainter-ellipse.png new file mode 100644 index 0000000000..e7e78c3dac Binary files /dev/null and b/doc/src/images/qpainter-ellipse.png differ diff --git a/doc/src/images/qpainter-gradients.png b/doc/src/images/qpainter-gradients.png new file mode 100644 index 0000000000..b7bc6a3270 Binary files /dev/null and b/doc/src/images/qpainter-gradients.png differ diff --git a/doc/src/images/qpainter-line.png b/doc/src/images/qpainter-line.png new file mode 100644 index 0000000000..5f1cd97eff Binary files /dev/null and b/doc/src/images/qpainter-line.png differ diff --git a/doc/src/images/qpainter-painterpaths.png b/doc/src/images/qpainter-painterpaths.png new file mode 100644 index 0000000000..0762ca93f3 Binary files /dev/null and b/doc/src/images/qpainter-painterpaths.png differ diff --git a/doc/src/images/qpainter-path.png b/doc/src/images/qpainter-path.png new file mode 100644 index 0000000000..3570b16d7a Binary files /dev/null and b/doc/src/images/qpainter-path.png differ diff --git a/doc/src/images/qpainter-pathstroking.png b/doc/src/images/qpainter-pathstroking.png new file mode 100644 index 0000000000..ab73c6ae01 Binary files /dev/null and b/doc/src/images/qpainter-pathstroking.png differ diff --git a/doc/src/images/qpainter-pie.png b/doc/src/images/qpainter-pie.png new file mode 100644 index 0000000000..78039013e0 Binary files /dev/null and b/doc/src/images/qpainter-pie.png differ diff --git a/doc/src/images/qpainter-polygon.png b/doc/src/images/qpainter-polygon.png new file mode 100644 index 0000000000..3b6ea3c797 Binary files /dev/null and b/doc/src/images/qpainter-polygon.png differ diff --git a/doc/src/images/qpainter-rectangle.png b/doc/src/images/qpainter-rectangle.png new file mode 100644 index 0000000000..05fdc88300 Binary files /dev/null and b/doc/src/images/qpainter-rectangle.png differ diff --git a/doc/src/images/qpainter-rotation.png b/doc/src/images/qpainter-rotation.png new file mode 100644 index 0000000000..6e24a0e040 Binary files /dev/null and b/doc/src/images/qpainter-rotation.png differ diff --git a/doc/src/images/qpainter-roundrect.png b/doc/src/images/qpainter-roundrect.png new file mode 100644 index 0000000000..876a277811 Binary files /dev/null and b/doc/src/images/qpainter-roundrect.png differ diff --git a/doc/src/images/qpainter-scale.png b/doc/src/images/qpainter-scale.png new file mode 100644 index 0000000000..4fe582eb13 Binary files /dev/null and b/doc/src/images/qpainter-scale.png differ diff --git a/doc/src/images/qpainter-text.png b/doc/src/images/qpainter-text.png new file mode 100644 index 0000000000..e95c965d7b Binary files /dev/null and b/doc/src/images/qpainter-text.png differ diff --git a/doc/src/images/qpainter-translation.png b/doc/src/images/qpainter-translation.png new file mode 100644 index 0000000000..b3716ca3f6 Binary files /dev/null and b/doc/src/images/qpainter-translation.png differ diff --git a/doc/src/images/qpainter-vectordeformation.png b/doc/src/images/qpainter-vectordeformation.png new file mode 100644 index 0000000000..aff95f404c Binary files /dev/null and b/doc/src/images/qpainter-vectordeformation.png differ diff --git a/doc/src/images/qpainterpath-addellipse.png b/doc/src/images/qpainterpath-addellipse.png new file mode 100644 index 0000000000..98f85174ef Binary files /dev/null and b/doc/src/images/qpainterpath-addellipse.png differ diff --git a/doc/src/images/qpainterpath-addpolygon.png b/doc/src/images/qpainterpath-addpolygon.png new file mode 100644 index 0000000000..d36bde8ada Binary files /dev/null and b/doc/src/images/qpainterpath-addpolygon.png differ diff --git a/doc/src/images/qpainterpath-addrectangle.png b/doc/src/images/qpainterpath-addrectangle.png new file mode 100644 index 0000000000..be9283e46d Binary files /dev/null and b/doc/src/images/qpainterpath-addrectangle.png differ diff --git a/doc/src/images/qpainterpath-addtext.png b/doc/src/images/qpainterpath-addtext.png new file mode 100644 index 0000000000..803a9581ac Binary files /dev/null and b/doc/src/images/qpainterpath-addtext.png differ diff --git a/doc/src/images/qpainterpath-arcto.png b/doc/src/images/qpainterpath-arcto.png new file mode 100644 index 0000000000..fe60b08d31 Binary files /dev/null and b/doc/src/images/qpainterpath-arcto.png differ diff --git a/doc/src/images/qpainterpath-construction.png b/doc/src/images/qpainterpath-construction.png new file mode 100644 index 0000000000..4beeba1dd8 Binary files /dev/null and b/doc/src/images/qpainterpath-construction.png differ diff --git a/doc/src/images/qpainterpath-cubicto.png b/doc/src/images/qpainterpath-cubicto.png new file mode 100644 index 0000000000..465bfeca29 Binary files /dev/null and b/doc/src/images/qpainterpath-cubicto.png differ diff --git a/doc/src/images/qpainterpath-demo.png b/doc/src/images/qpainterpath-demo.png new file mode 100644 index 0000000000..ceeed2f170 Binary files /dev/null and b/doc/src/images/qpainterpath-demo.png differ diff --git a/doc/src/images/qpainterpath-example.png b/doc/src/images/qpainterpath-example.png new file mode 100644 index 0000000000..f2bd359aba Binary files /dev/null and b/doc/src/images/qpainterpath-example.png differ diff --git a/doc/src/images/qpen-bevel.png b/doc/src/images/qpen-bevel.png new file mode 100644 index 0000000000..8a30779e3b Binary files /dev/null and b/doc/src/images/qpen-bevel.png differ diff --git a/doc/src/images/qpen-custom.png b/doc/src/images/qpen-custom.png new file mode 100644 index 0000000000..a2a038abe0 Binary files /dev/null and b/doc/src/images/qpen-custom.png differ diff --git a/doc/src/images/qpen-dash.png b/doc/src/images/qpen-dash.png new file mode 100644 index 0000000000..67082c3758 Binary files /dev/null and b/doc/src/images/qpen-dash.png differ diff --git a/doc/src/images/qpen-dashdot.png b/doc/src/images/qpen-dashdot.png new file mode 100644 index 0000000000..64b384660f Binary files /dev/null and b/doc/src/images/qpen-dashdot.png differ diff --git a/doc/src/images/qpen-dashdotdot.png b/doc/src/images/qpen-dashdotdot.png new file mode 100644 index 0000000000..ff1b2e69cd Binary files /dev/null and b/doc/src/images/qpen-dashdotdot.png differ diff --git a/doc/src/images/qpen-dashpattern.png b/doc/src/images/qpen-dashpattern.png new file mode 100644 index 0000000000..e33cf58d49 Binary files /dev/null and b/doc/src/images/qpen-dashpattern.png differ diff --git a/doc/src/images/qpen-demo.png b/doc/src/images/qpen-demo.png new file mode 100644 index 0000000000..3ea5108802 Binary files /dev/null and b/doc/src/images/qpen-demo.png differ diff --git a/doc/src/images/qpen-dot.png b/doc/src/images/qpen-dot.png new file mode 100644 index 0000000000..54e81c9469 Binary files /dev/null and b/doc/src/images/qpen-dot.png differ diff --git a/doc/src/images/qpen-flat.png b/doc/src/images/qpen-flat.png new file mode 100644 index 0000000000..06e2195f73 Binary files /dev/null and b/doc/src/images/qpen-flat.png differ diff --git a/doc/src/images/qpen-miter.png b/doc/src/images/qpen-miter.png new file mode 100644 index 0000000000..025e003979 Binary files /dev/null and b/doc/src/images/qpen-miter.png differ diff --git a/doc/src/images/qpen-roundcap.png b/doc/src/images/qpen-roundcap.png new file mode 100644 index 0000000000..77b22b2bab Binary files /dev/null and b/doc/src/images/qpen-roundcap.png differ diff --git a/doc/src/images/qpen-roundjoin.png b/doc/src/images/qpen-roundjoin.png new file mode 100644 index 0000000000..155e2aa8cc Binary files /dev/null and b/doc/src/images/qpen-roundjoin.png differ diff --git a/doc/src/images/qpen-solid.png b/doc/src/images/qpen-solid.png new file mode 100644 index 0000000000..e042b18017 Binary files /dev/null and b/doc/src/images/qpen-solid.png differ diff --git a/doc/src/images/qpen-square.png b/doc/src/images/qpen-square.png new file mode 100644 index 0000000000..ebc5d1e329 Binary files /dev/null and b/doc/src/images/qpen-square.png differ diff --git a/doc/src/images/qradialgradient-pad.png b/doc/src/images/qradialgradient-pad.png new file mode 100644 index 0000000000..6c1a6cb268 Binary files /dev/null and b/doc/src/images/qradialgradient-pad.png differ diff --git a/doc/src/images/qradialgradient-reflect.png b/doc/src/images/qradialgradient-reflect.png new file mode 100644 index 0000000000..5122b180b1 Binary files /dev/null and b/doc/src/images/qradialgradient-reflect.png differ diff --git a/doc/src/images/qradialgradient-repeat.png b/doc/src/images/qradialgradient-repeat.png new file mode 100644 index 0000000000..aa639b7779 Binary files /dev/null and b/doc/src/images/qradialgradient-repeat.png differ diff --git a/doc/src/images/qrect-diagram-one.png b/doc/src/images/qrect-diagram-one.png new file mode 100644 index 0000000000..a893be277a Binary files /dev/null and b/doc/src/images/qrect-diagram-one.png differ diff --git a/doc/src/images/qrect-diagram-three.png b/doc/src/images/qrect-diagram-three.png new file mode 100644 index 0000000000..84fb35be6c Binary files /dev/null and b/doc/src/images/qrect-diagram-three.png differ diff --git a/doc/src/images/qrect-diagram-two.png b/doc/src/images/qrect-diagram-two.png new file mode 100644 index 0000000000..e19caacc34 Binary files /dev/null and b/doc/src/images/qrect-diagram-two.png differ diff --git a/doc/src/images/qrect-diagram-zero.png b/doc/src/images/qrect-diagram-zero.png new file mode 100644 index 0000000000..90e3db0c41 Binary files /dev/null and b/doc/src/images/qrect-diagram-zero.png differ diff --git a/doc/src/images/qrectf-diagram-one.png b/doc/src/images/qrectf-diagram-one.png new file mode 100644 index 0000000000..842289ce07 Binary files /dev/null and b/doc/src/images/qrectf-diagram-one.png differ diff --git a/doc/src/images/qrectf-diagram-three.png b/doc/src/images/qrectf-diagram-three.png new file mode 100644 index 0000000000..e05106a7e1 Binary files /dev/null and b/doc/src/images/qrectf-diagram-three.png differ diff --git a/doc/src/images/qrectf-diagram-two.png b/doc/src/images/qrectf-diagram-two.png new file mode 100644 index 0000000000..192d00df79 Binary files /dev/null and b/doc/src/images/qrectf-diagram-two.png differ diff --git a/doc/src/images/qt-colors.png b/doc/src/images/qt-colors.png new file mode 100644 index 0000000000..331c97523f Binary files /dev/null and b/doc/src/images/qt-colors.png differ diff --git a/doc/src/images/qt-fillrule-oddeven.png b/doc/src/images/qt-fillrule-oddeven.png new file mode 100644 index 0000000000..f39d1056f5 Binary files /dev/null and b/doc/src/images/qt-fillrule-oddeven.png differ diff --git a/doc/src/images/qt-fillrule-winding.png b/doc/src/images/qt-fillrule-winding.png new file mode 100644 index 0000000000..8018248331 Binary files /dev/null and b/doc/src/images/qt-fillrule-winding.png differ diff --git a/doc/src/images/qtabletevent-tilt.png b/doc/src/images/qtabletevent-tilt.png new file mode 100644 index 0000000000..546d7daadb Binary files /dev/null and b/doc/src/images/qtabletevent-tilt.png differ diff --git a/doc/src/images/qtextblock-sequence.png b/doc/src/images/qtextblock-sequence.png new file mode 100644 index 0000000000..85f208e1fb Binary files /dev/null and b/doc/src/images/qtextblock-sequence.png differ diff --git a/doc/src/images/qtextfragment-split.png b/doc/src/images/qtextfragment-split.png new file mode 100644 index 0000000000..c232c408c9 Binary files /dev/null and b/doc/src/images/qtextfragment-split.png differ diff --git a/doc/src/images/qtextframe-style.png b/doc/src/images/qtextframe-style.png new file mode 100644 index 0000000000..6151307803 Binary files /dev/null and b/doc/src/images/qtextframe-style.png differ diff --git a/doc/src/images/qtransform-combinedtransformation.png b/doc/src/images/qtransform-combinedtransformation.png new file mode 100644 index 0000000000..df1e226746 Binary files /dev/null and b/doc/src/images/qtransform-combinedtransformation.png differ diff --git a/doc/src/images/qtransform-combinedtransformation2.png b/doc/src/images/qtransform-combinedtransformation2.png new file mode 100644 index 0000000000..c037a0d565 Binary files /dev/null and b/doc/src/images/qtransform-combinedtransformation2.png differ diff --git a/doc/src/images/qtransform-simpletransformation.png b/doc/src/images/qtransform-simpletransformation.png new file mode 100644 index 0000000000..743e4e3e07 Binary files /dev/null and b/doc/src/images/qtransform-simpletransformation.png differ diff --git a/doc/src/images/qurl-authority.png b/doc/src/images/qurl-authority.png new file mode 100644 index 0000000000..54de2a792e Binary files /dev/null and b/doc/src/images/qurl-authority.png differ diff --git a/doc/src/images/qurl-authority2.png b/doc/src/images/qurl-authority2.png new file mode 100644 index 0000000000..fe8d4d87b2 Binary files /dev/null and b/doc/src/images/qurl-authority2.png differ diff --git a/doc/src/images/qurl-authority3.png b/doc/src/images/qurl-authority3.png new file mode 100644 index 0000000000..242063e935 Binary files /dev/null and b/doc/src/images/qurl-authority3.png differ diff --git a/doc/src/images/qurl-fragment.png b/doc/src/images/qurl-fragment.png new file mode 100644 index 0000000000..e93a252e7a Binary files /dev/null and b/doc/src/images/qurl-fragment.png differ diff --git a/doc/src/images/qurl-ftppath.png b/doc/src/images/qurl-ftppath.png new file mode 100644 index 0000000000..d88df4922b Binary files /dev/null and b/doc/src/images/qurl-ftppath.png differ diff --git a/doc/src/images/qurl-mailtopath.png b/doc/src/images/qurl-mailtopath.png new file mode 100644 index 0000000000..34ec153b74 Binary files /dev/null and b/doc/src/images/qurl-mailtopath.png differ diff --git a/doc/src/images/qurl-querystring.png b/doc/src/images/qurl-querystring.png new file mode 100644 index 0000000000..7c3309a5ac Binary files /dev/null and b/doc/src/images/qurl-querystring.png differ diff --git a/doc/src/images/rintersect.png b/doc/src/images/rintersect.png new file mode 100644 index 0000000000..025ea93e67 Binary files /dev/null and b/doc/src/images/rintersect.png differ diff --git a/doc/src/images/rsubtract.png b/doc/src/images/rsubtract.png new file mode 100644 index 0000000000..add6405a2d Binary files /dev/null and b/doc/src/images/rsubtract.png differ diff --git a/doc/src/images/runion.png b/doc/src/images/runion.png new file mode 100644 index 0000000000..5b11e8c13e Binary files /dev/null and b/doc/src/images/runion.png differ diff --git a/doc/src/images/rxor.png b/doc/src/images/rxor.png new file mode 100644 index 0000000000..f86e6d628c Binary files /dev/null and b/doc/src/images/rxor.png differ diff --git a/doc/src/images/stliterators1.png b/doc/src/images/stliterators1.png new file mode 100644 index 0000000000..6d71e4712f Binary files /dev/null and b/doc/src/images/stliterators1.png differ diff --git a/doc/src/images/texttable-merge.png b/doc/src/images/texttable-merge.png new file mode 100644 index 0000000000..3b32239a42 Binary files /dev/null and b/doc/src/images/texttable-merge.png differ diff --git a/doc/src/images/texttable-split.png b/doc/src/images/texttable-split.png new file mode 100644 index 0000000000..2fa17b85a3 Binary files /dev/null and b/doc/src/images/texttable-split.png differ diff --git a/doc/src/images/threadsandobjects.png b/doc/src/images/threadsandobjects.png new file mode 100644 index 0000000000..8357d2532a Binary files /dev/null and b/doc/src/images/threadsandobjects.png differ diff --git a/doc/src/snippets/code/doc_src_groups.cpp b/doc/src/snippets/code/doc_src_groups.cpp new file mode 100644 index 0000000000..2d5fd97280 --- /dev/null +++ b/doc/src/snippets/code/doc_src_groups.cpp @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** 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 documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//! [0] +void QPen::setStyle(Qt::PenStyle style) +{ + detach(); // detach from common data + d->style = style; // set the style member +} + +void QPen::detach() +{ + if (d->ref != 1) { + ... // perform a deep copy + } +} +//! [0] + + +//! [1] +QPixmap p1, p2; +p1.load("image.bmp"); +p2 = p1; // p1 and p2 share data + +QPainter paint; +paint.begin(&p2); // cuts p2 loose from p1 +paint.drawText(0,50, "Hi"); +paint.end(); +//! [1]