summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/gui/doc/src/rasterwindow.qdoc2
-rw-r--r--examples/opengl/hellowindow/hellowindow.cpp3
-rw-r--r--examples/widgets/doc/src/stickman.qdoc84
3 files changed, 45 insertions, 44 deletions
diff --git a/examples/gui/doc/src/rasterwindow.qdoc b/examples/gui/doc/src/rasterwindow.qdoc
index f246533c4f..e5b300a312 100644
--- a/examples/gui/doc/src/rasterwindow.qdoc
+++ b/examples/gui/doc/src/rasterwindow.qdoc
@@ -54,7 +54,7 @@
\snippet rasterwindow/rasterwindow.h 1
- We first start by including the the QtGui headers. This means we
+ We first start by including the QtGui headers. This means we
can use all classes in the Qt GUI module. Classes can also be
included individually if that is preferred.
diff --git a/examples/opengl/hellowindow/hellowindow.cpp b/examples/opengl/hellowindow/hellowindow.cpp
index b1140c4f1d..998b29b540 100644
--- a/examples/opengl/hellowindow/hellowindow.cpp
+++ b/examples/opengl/hellowindow/hellowindow.cpp
@@ -92,7 +92,8 @@ void HelloWindow::mousePressEvent(QMouseEvent *)
void HelloWindow::render()
{
- emit needRender(this, m_color, size());
+ if (isExposed())
+ emit needRender(this, m_color, size());
}
void HelloWindow::updateColor()
diff --git a/examples/widgets/doc/src/stickman.qdoc b/examples/widgets/doc/src/stickman.qdoc
index 6235d3b2a4..a06755874b 100644
--- a/examples/widgets/doc/src/stickman.qdoc
+++ b/examples/widgets/doc/src/stickman.qdoc
@@ -33,70 +33,70 @@
machine to implement key frame animations.
\image stickman-example.png
-
+
In this example, we will write a small application which animates the joints in a skeleton and
projects a stickman figure on top. The stickman can be either "alive" or "dead", and when in the
- "alive" state, he can be performing different actions defined by key frame animations.
-
- Animations are implemented as composite states. Each child state of the animation state
- represents a frame in the animation by setting the position of each joint in the stickman's
- skeleton to the positions defined for the particular frame. The frames are then bound together
+ "alive" state, he can be performing different actions defined by key frame animations.
+
+ Animations are implemented as composite states. Each child state of the animation state
+ represents a frame in the animation by setting the position of each joint in the stickman's
+ skeleton to the positions defined for the particular frame. The frames are then bound together
with animated transitions that trigger on the source state's propertiesAssigned() signal. Thus,
the machine will enter the state representing the next frame in the animation immediately after
it has finished animating into the previous frame.
-
+
\image stickman-example1.png
-
- The states for an animation is constructed by reading a custom animation file format and
- creating states that assign values to the the "position" properties of each of the nodes in the
- skeleton graph.
-
+
+ The states for an animation is constructed by reading a custom animation file format and
+ creating states that assign values to the "position" properties of each of the nodes in the
+ skeleton graph.
+
\snippet animation/stickman/lifecycle.cpp 1
-
+
The states are then bound together with signal transitions that listen to the
propertiesAssigned() signal.
-
+
\snippet animation/stickman/lifecycle.cpp 2
-
+
The last frame state is given a transition to the first one, so that the animation will loop
- until it is interrupted when a transition out from the animation state is taken. To get smooth
- animations between the different key frames, we set a default animation on the state machine.
- This is a parallel animation group which contains animations for all the "position" properties
- and will be selected by default when taking any transition that leads into a state that assigns
+ until it is interrupted when a transition out from the animation state is taken. To get smooth
+ animations between the different key frames, we set a default animation on the state machine.
+ This is a parallel animation group which contains animations for all the "position" properties
+ and will be selected by default when taking any transition that leads into a state that assigns
values to these properties.
-
+
\snippet animation/stickman/lifecycle.cpp 3
-
- Several such animation states are constructed, and are placed together as children of a top
+
+ Several such animation states are constructed, and are placed together as children of a top
level "alive" state which represents the stickman life cycle. Transitions go from the parent
- state to the child state to ensure that each of the child states inherit them.
-
+ state to the child state to ensure that each of the child states inherit them.
+
\image stickman-example2.png
-
- This saves us the effort of connect every state to every state with identical transitions. The
- state machine makes sure that transitions between the key frame animations are also smooth by
+
+ This saves us the effort of connect every state to every state with identical transitions. The
+ state machine makes sure that transitions between the key frame animations are also smooth by
applying the default animation when interrupting one and starting another.
-
- Finally, there is a transition out from the "alive" state and into the "dead" state. This is
- a custom transition type called LightningSrikesTransition which samples every second and
- triggers at random (one out of fifty times on average.)
-
+
+ Finally, there is a transition out from the "alive" state and into the "dead" state. This is
+ a custom transition type called LightningSrikesTransition which samples every second and
+ triggers at random (one out of fifty times on average.)
+
\snippet animation/stickman/lifecycle.cpp 4
-
- When it triggers, the machine will first enter a "lightningBlink" state which uses a timer to
- pause for a brief period of time while the background color of the scene is white. This gives us
+
+ When it triggers, the machine will first enter a "lightningBlink" state which uses a timer to
+ pause for a brief period of time while the background color of the scene is white. This gives us
a flash effect when the lightning strikes.
-
+
\snippet animation/stickman/lifecycle.cpp 5
-
+
We start and stop a QTimer object when entering and exiting the state. Then we transition into
the "dead" state when the timer times out.
-
+
\snippet animation/stickman/lifecycle.cpp 0
-
- When the machine is in the "dead" state, it will be unresponsive. This is because the "dead"
+
+ When the machine is in the "dead" state, it will be unresponsive. This is because the "dead"
state has no transitions leading out.
-
+
\image stickman-example3.png
-
+
*/