summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-08-25 23:06:36 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-08-25 23:06:36 (GMT)
commit8484fc497f9d02b708cb23adb8ab6102d63a7753 (patch)
treeeb6aacda7fda551bcfbcfd6b0d192b2389bd094e /doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp
parent314c6ec54e4cb4e2ec936ada7e0a112a60b87832 (diff)
parent1470504e15662acf37bacc58359527f88efc43ab (diff)
downloadQt-8484fc497f9d02b708cb23adb8ab6102d63a7753.zip
Qt-8484fc497f9d02b708cb23adb8ab6102d63a7753.tar.gz
Qt-8484fc497f9d02b708cb23adb8ab6102d63a7753.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into kinetic-declarativeui
Conflicts: configure configure.exe mkspecs/features/qt.prf tools/configure/configureapp.cpp
Diffstat (limited to 'doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp')
-rw-r--r--doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp b/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp
new file mode 100644
index 0000000..6265c80
--- /dev/null
+++ b/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp
@@ -0,0 +1,33 @@
+//! [0]
+MyGraphicsOpacityEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
+{
+ // Fully opaque; draw directly without going through a pixmap.
+ if (qFuzzyCompare(m_opacity, 1)) {
+ source->draw(painter);
+ return;
+ }
+ ...
+}
+//! [0]
+
+//! [1]
+MyGraphicsEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
+{
+ ...
+ QPoint offset;
+ if (source->isPixmap()) {
+ // No point in drawing in device coordinates (pixmap will be scaled anyways).
+ const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset);
+ ...
+ painter->drawPixmap(offset, pixmap);
+ } else {
+ // Draw pixmap in device coordinates to avoid pixmap scaling;
+ const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset);
+ painter->setWorldTransform(QTransform());
+ ...
+ painter->drawPixmap(offset, pixmap);
+ }
+ ...
+}
+//! [1]
+