diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2011-05-18 09:38:14 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@nokia.com> | 2011-05-18 09:38:14 +0200 |
commit | b596a6c9720fff0f7842cbd29cbc734b18ad2ca2 (patch) | |
tree | ab66d08304d975afe7d006365e192bd1fa135ec2 | |
parent | 07c56ca4fb8240bea18cf8e941e3c61b48d7e7ed (diff) |
Updated text slide and painted item slides
-rw-r--r-- | PaintedItemSlide.qml | 42 | ||||
-rw-r--r-- | SlideDeck.qml | 10 | ||||
-rw-r--r-- | TextSlide.qml | 10 |
3 files changed, 50 insertions, 12 deletions
diff --git a/PaintedItemSlide.qml b/PaintedItemSlide.qml new file mode 100644 index 0000000..2d18071 --- /dev/null +++ b/PaintedItemSlide.qml @@ -0,0 +1,42 @@ +import QtQuick 2.0 +import Qt.labs.presentation 1.0 + +Slide { + id: slide + + title: "Integration with QPainter" + contentWidth: codeSection.x + content: [ + "class QSGPaintedItem", + "Renders with QPainter", + " QImage based", + " FBO based", + "Equivalent API to QDeclarativeItem" + ] + + CodeSection { + id: codeSection + text: +" +class Painter : public QSGPaintedItem +{ + Q_OBJECT +public: + + void paint(QPainter *p) { + ... + p->drawStuff(); + } + +}; + + +// Somewhere during setup... +qmlRegisterType<Painter>(\"QtQuick\", + 2, 0, + \"Painter\"); + +" + } + +} diff --git a/SlideDeck.qml b/SlideDeck.qml index c417df4..d9e57d1 100644 --- a/SlideDeck.qml +++ b/SlideDeck.qml @@ -17,6 +17,7 @@ AnimatedPresentation { } + Slide { title: "QML Scene Graph" content: [ @@ -46,14 +47,13 @@ AnimatedPresentation { EffectSlide {} - VSyncSlide {} + PaintedItemSlide {} GLIntegrationSlide {} - Slide { // integrated with Qt slide... painted item thingy - centeredText: "painted item" - } + + VSyncSlide {} ThreadingSlide {} @@ -76,8 +76,6 @@ AnimatedPresentation { color: "black" anchors.fill: parent - visible: false - SequentialAnimation { id: slideCoverFadeAnimation NumberAnimation { target: slideCover; property: "opacity"; from: 1; to: 0; duration: 2500 } diff --git a/TextSlide.qml b/TextSlide.qml index 7cad00f..2ce79be 100644 --- a/TextSlide.qml +++ b/TextSlide.qml @@ -4,8 +4,6 @@ import Qt.labs.presentation 1.0 Slide { id: textSlide - title: "Crisp Text while Scaling and Rotating" - Text { id: textElement anchors.centerIn: parent @@ -16,17 +14,17 @@ Slide { font.pixelSize: 10 font.family: "Times New Roman" - property string content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eget porttitor augue. Cras erat velit, suscipit a egestas ut, condimentum sed leo. Maecenas varius tempus metus et tincidunt. Donec magna magna, tempor at convallis sed, tincidunt at eros. Sed ac ante et ligula luctus varius. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris id dui tortor, vitae feugiat neque. Ut eleifend pulvinar mauris, ut lobortis ligula commodo et. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam erat volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris sit amet auctor magna. Donec placerat dictum lobortis. Curabitur tincidunt pharetra leo. Etiam luctus, urna quis ornare pharetra, sem nibh facilisis tellus, id rhoncus quam turpis a neque." + property string content: "The default implementation of the Text element uses a technique called 'Signed Distance Fields'. This technique allows us to rasterize a glyph once and use it for any font size. It also means that we can position glyphs at arbitrary sub-pixel positions giving us true subpixel antialiasing. We combine this with unhinted layouts, so text can be freely translated, scaled and rotated in a floating-point world." text: content.substring(0, textElement.contentLength); property int contentLength: 2 NumberAnimation on contentLength { - from: 1; to: textElement.content.length ; duration: textElement.content.length * 25; running: textSlide.visible + from: 1; to: textElement.content.length; duration: textElement.content.length * 25; running: textSlide.visible } SequentialAnimation on rotation { PauseAnimation { duration: 2000 } - NumberAnimation { from: 0; to: 360; duration: 8000; easing.type: Easing.InOutQuart } + NumberAnimation { from: 0; to: 360; duration: 20000; easing.type: Easing.InOutQuart } running: textSlide.visible; loops: Animation.Infinite @@ -35,7 +33,7 @@ Slide { SequentialAnimation on scale { PauseAnimation { duration: 5000 } NumberAnimation { to: 2; duration: 500; easing.type: Easing.InOutSine } - PauseAnimation { duration: 4000 } + PauseAnimation { duration: 8000 } NumberAnimation { to: 10; duration: 800; easing.type: Easing.InOutSine} NumberAnimation { to: 0.5; duration: 800; easing.type: Easing.InOutSine } NumberAnimation { to: 5; duration: 800; easing.type: Easing.InOutSine } |