diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2009-08-25 23:06:36 (GMT) |
---|---|---|
committer | Michael Brasser <michael.brasser@nokia.com> | 2009-08-25 23:06:36 (GMT) |
commit | 8484fc497f9d02b708cb23adb8ab6102d63a7753 (patch) | |
tree | eb6aacda7fda551bcfbcfd6b0d192b2389bd094e /doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp | |
parent | 314c6ec54e4cb4e2ec936ada7e0a112a60b87832 (diff) | |
parent | 1470504e15662acf37bacc58359527f88efc43ab (diff) | |
download | Qt-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.cpp | 33 |
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] + |