summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2011-05-18 09:38:14 +0200
committerGunnar Sletta <gunnar.sletta@nokia.com>2011-05-18 09:38:14 +0200
commitb596a6c9720fff0f7842cbd29cbc734b18ad2ca2 (patch)
treeab66d08304d975afe7d006365e192bd1fa135ec2
parent07c56ca4fb8240bea18cf8e941e3c61b48d7e7ed (diff)
Updated text slide and painted item slides
-rw-r--r--PaintedItemSlide.qml42
-rw-r--r--SlideDeck.qml10
-rw-r--r--TextSlide.qml10
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 }