// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \title Qt Quick Examples - Animation
    \example animation
    \brief This is a collection of QML Animation examples.
    \image qml-animations-example.png {Sky gradient transitioning from
           blue to dark above green ground}
    \ingroup qtquickexamples
    \examplecategory {Graphics}

    \e Animation is a collection of small QML examples relating to animation.
    Each example is a small QML file emphasizing a particular type or feature.

    For more information about animations, visit
    \l{Important Concepts in Qt Quick - States, Transitions and Animations}.

    \include examples-run.qdocinc

    \section1 ColorAnimation

    \e ColorAnimation uses color animations to fade a sky from day to
    night.
    \snippet animation/basics/color-animation.qml 0

    \section1 PropertyAnimation

    \e PropertyAnimation uses number animations to bounce a
    circle up and down.
    \snippet animation/basics/property-animation.qml 0

    \section1 Animators

    \e Animators uses animators to bounce an icon up and down.
    \snippet animation/basics/animators.qml 0

    \section1 Behaviors

    \e Behaviors uses behaviors to move a rectangle to where you click.
    \snippet animation/behaviors/FocusRect.qml 0

    \section1 Wiggly Text

    \e{Wiggly Text} demonstrates using more complex behaviors to animate and
    wiggle some text around as you drag it. It does this by assigning a complex
    binding to each letter:
    \snippet animation/behaviors/wigglytext.qml 0

    Then, it uses behaviors to animate the movement of each letter:
    \snippet animation/behaviors/wigglytext.qml 1

    \section1 Tv Tennis

    \e{Tv Tennis} uses complex behaviors to make the paddles follow a ball to
    simulate an infinite tennis game. Again, a binding which depends on other
    values is applied to the position and a behavior provided the animation.

    \section1 Easing Curves

    \e{Easing Curves} shows off all the easing curves available in Qt Quick
    animations.

    \section1 States

    \e States demonstrates how the properties of an item can vary between
    \l{Qt Quick States}{states}.

    It defines several states:
    \snippet animation/states/states.qml 0

    \section1 Transitions

    \e Transitions takes the States example and animates the property changes
    by setting transitions:
    \snippet animation/states/transitions.qml 0

    \section1 PathAnimation

    \e PathAnimation animates an image along a bezier curve using a
    \l PathAnimation.
    \snippet animation/pathanimation/pathanimation.qml 0

    \section1 PathInterpolator

    \e PathInterpolator animates an image along the same bezier curve, using a
    \l PathInterpolator instead.
    \snippet animation/pathinterpolator/pathinterpolator.qml 0
*/
