<class name="QTimeLine" doc="/**
&lt;p&gt;The &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; class provides a timeline for controlling animations.&lt;/p&gt;
&lt;p&gt;It's most commonly used to animate a GUI control by calling a slot periodically. You can construct a timeline by passing its duration in milliseconds to &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;'s constructor. The timeline's duration describes for how long the animation will run. Then you set a suitable frame range by calling &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt;. Finally connect the &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt; signal to a suitable slot in the widget you wish to animate (e.g&amp;#x2e;, setValue() in &lt;a href=&quot;%2E%2E/gui/QProgressBar.html&quot;&gt;&lt;tt&gt;QProgressBar&lt;/tt&gt;&lt;/a&gt;). When you proceed to calling &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will enter Running state, and start emitting &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt; at regular intervals, causing your widget's connected property's value to grow from the lower end to the upper and of your frame range, at a steady rate. You can specify the update interval by calling &lt;a href=&quot;QTimeLine.html#setUpdateInterval(int)&quot;&gt;&lt;tt&gt;setUpdateInterval&lt;/tt&gt;&lt;/a&gt;. When done, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; enters &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;&lt;tt&gt;NotRunning&lt;/tt&gt;&lt;/a&gt; state, and emits &lt;a href=&quot;QTimeLine.html#finished()&quot;&gt;&lt;tt&gt;finished&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    ...
    progressBar = new QProgressBar(this);
    progressBar-&amp;gt;setRange(0, 100);

&lt;span class=&quot;comment&quot;&gt;    //&lt;/span&gt; Construct a 1-second timeline with a frame range of 0 - 100
    QTimeLine *timeLine = new QTimeLine(1000, this);
    timeLine-&amp;gt;setFrameRange(0, 100);
    connect(timeLine, SIGNAL(frameChanged(int)), progressBar, SLOT(setValue(int)));

&lt;span class=&quot;comment&quot;&gt;    //&lt;/span&gt; Clicking the push button will start the progress bar animation
    pushButton = new QPushButton(tr(&amp;quot;Start animation&amp;quot;), this);
    connect(pushButton, SIGNAL(clicked()), timeLine, SLOT(start()));
    ...&lt;/pre&gt;
&lt;p&gt;You can also use &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; with the &lt;a href=&quot;%2E%2E/graphicsview.html#graphics-view&quot;&gt;Graphics View framework&lt;/tt&gt;&lt;/a&gt; for animations. The &lt;a href=&quot;%2E%2E/gui/QGraphicsItemAnimation.html&quot;&gt;&lt;tt&gt;QGraphicsItemAnimation&lt;/tt&gt;&lt;/a&gt; class implements animation of &lt;a href=&quot;%2E%2E/gui/QGraphicsItem.html&quot;&gt;QGraphicsItems&lt;/a&gt; with a timeline.&lt;/p&gt;
&lt;p&gt;By default the timeline runs once, from the beginning and towards the end, upon which you must call &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; again to restart from the beginning. To make the timeline loop, you can call &lt;a href=&quot;QTimeLine.html#setLoopCount(int)&quot;&gt;&lt;tt&gt;setLoopCount&lt;/tt&gt;&lt;/a&gt;, passing the number of times the timeline should run before finishing. The direction can also be changed, causing the timeline to run backward, by calling &lt;a href=&quot;QTimeLine.html#setDirection(com.trolltech.qt.core.QTimeLine.Direction)&quot;&gt;&lt;tt&gt;setDirection&lt;/tt&gt;&lt;/a&gt;. You can also pause and unpause the timeline while it's running by calling &lt;a href=&quot;QTimeLine.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;. For interactive control, the &lt;a href=&quot;QTimeLine.html#setCurrentTime(int)&quot;&gt;&lt;tt&gt;setCurrentTime&lt;/tt&gt;&lt;/a&gt; function is provided, which sets the time position of the time line directly. Although most useful in &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;&lt;tt&gt;NotRunning&lt;/tt&gt;&lt;/a&gt; state, (e.g&amp;#x2e;, connected to a &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt; signal in a &lt;a href=&quot;%2E%2E/gui/QSlider.html&quot;&gt;&lt;tt&gt;QSlider&lt;/tt&gt;&lt;/a&gt;,) this function can be called at any time.&lt;/p&gt;
&lt;p&gt;The frame interface is useful for standard widgets, but &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; can be used to control any type of animation. The heart of &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; lies in the &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt; function, which generates a &lt;i&gt;value&lt;/i&gt; between 0 and 1 for a given time. This value is typically used to describe the steps of an animation, where 0 is the first step of an animation, and 1 is the last step. When running, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; generates values between 0 and 1 by calling &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt; and emitting &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt;. By default, &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt; applies an interpolation algorithm to generate these value. You can choose from a set of predefined timeline algorithms by calling &lt;a href=&quot;QTimeLine.html#setCurveShape(com.trolltech.qt.core.QTimeLine.CurveShape)&quot;&gt;&lt;tt&gt;setCurveShape&lt;/tt&gt;&lt;/a&gt;. By default, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; uses the EaseInOut curve shape, which provides a value that grows slowly, then grows steadily, and finally grows slowly. For a custom timeline, you can reimplement &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;, in which case &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;'s &lt;a href=&quot;QTimeLine.html#curveShape()&quot;&gt;&lt;tt&gt;curveShape&lt;/tt&gt;&lt;/a&gt; property is ignored.&lt;/p&gt;

@see &lt;a href=&quot;%2E%2E/gui/QProgressBar.html&quot;&gt;&lt;tt&gt;QProgressBar&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/gui/QProgressDialog.html&quot;&gt;&lt;tt&gt;QProgressDialog&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/gui/QGraphicsItemAnimation.html&quot;&gt;&lt;tt&gt;QGraphicsItemAnimation&lt;/tt&gt;&lt;/a&gt; */">
    <signal name="protected final void finished()" doc="/**
&lt;p&gt;This signal is emitted when &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; finishes (i.e&amp;#x2e;, reaches the end of its time line), and does not loop.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signature:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void frameChanged(int arg__1)" doc="/**
&lt;p&gt;&lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; emits this signal at regular intervals when in &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state, but only if the current frame changes. &lt;tt&gt;arg__1&lt;/tt&gt; is the current frame number.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signatures:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(int arg__1)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;QTimeLine::setFrameRange&lt;/tt&gt;, &lt;tt&gt;QTimeLine::updateInterval&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void stateChanged(com.trolltech.qt.core.QTimeLine.State newState)" doc="/**
&lt;p&gt;This signal is emitted whenever &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;'s state changes. The new state is &lt;tt&gt;newState&lt;/tt&gt;.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signatures:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(com.trolltech.qt.core.QTimeLine.State newState)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void valueChanged(double x)" doc="/**
&lt;p&gt;&lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; emits this signal at regular intervals when in &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state, but only if the current value changes. &lt;tt&gt;x&lt;/tt&gt; is the current value. &lt;tt&gt;x&lt;/tt&gt; is a number between 0.0 and 1.0&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signatures:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(double x)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;QTimeLine::setDuration&lt;/tt&gt;, &lt;tt&gt;QTimeLine::valueForTime&lt;/tt&gt;, &lt;tt&gt;QTimeLine::updateInterval&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <method name="public QTimeLine(int duration, com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a timeline with a duration of &lt;tt&gt;duration&lt;/tt&gt; milliseconds. &lt;tt&gt;parent&lt;/tt&gt; is passed to &lt;a href=&quot;QObject.html#QObject(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QObject&lt;/tt&gt;&lt;/a&gt;'s constructor. The default duration is 1000 milliseconds.&lt;/p&gt;
 */"/>
    <method name="public QTimeLine(int duration)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;duration&lt;/tt&gt;, 0). */"/>
    <method name="public QTimeLine()" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;(1000, 0). */"/>
    <method name="public final int currentFrame()" doc="/**
&lt;p&gt;Returns the frame corresponding to the current time.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#currentTime()&quot;&gt;&lt;tt&gt;currentTime&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#frameForTime(int)&quot;&gt;&lt;tt&gt;frameForTime&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int currentTime()" doc="/**
&lt;p&gt;Returns the current time of the time line..&lt;/p&gt;
&lt;p&gt;When &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; is in Running state, this value is updated continuously as a function of the duration and direction of the timeline. Otherwise, it is value that was current when &lt;a href=&quot;QTimeLine.html#stop()&quot;&gt;&lt;tt&gt;stop&lt;/tt&gt;&lt;/a&gt; was called last, or the value set by &lt;a href=&quot;QTimeLine.html#setCurrentTime(int)&quot;&gt;&lt;tt&gt;setCurrentTime&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setCurrentTime(int)&quot;&gt;&lt;tt&gt;setCurrentTime&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final double currentValue()" doc="/**
&lt;p&gt;Returns the value corresponding to the current time.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#currentFrame()&quot;&gt;&lt;tt&gt;currentFrame&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QTimeLine.CurveShape curveShape()" doc="/**
&lt;p&gt;Returns the shape of the timeline curve..&lt;/p&gt;
&lt;p&gt;The curve shape describes the relation between the time and value for the base implementation of &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have reimplemented &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;, this value is ignored.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setCurveShape(com.trolltech.qt.core.QTimeLine.CurveShape)&quot;&gt;&lt;tt&gt;setCurveShape&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QTimeLine.Direction direction()" doc="/**
&lt;p&gt;Returns the direction of the timeline when &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; is in &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state..&lt;/p&gt;
&lt;p&gt;This direction indicates whether the time moves from 0 towards the timeline duration, or from the value of the duration and towards 0 after &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; has been called.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setDirection(com.trolltech.qt.core.QTimeLine.Direction)&quot;&gt;&lt;tt&gt;setDirection&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int duration()" doc="/**
&lt;p&gt;Returns the total duration of the timeline in milliseconds..&lt;/p&gt;
&lt;p&gt;By default, this value is 1000 (i.e&amp;#x2e;, 1 second), but you can change this by either passing a duration to &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;'s constructor, or by calling &lt;a href=&quot;QTimeLine.html#setDuration(int)&quot;&gt;&lt;tt&gt;setDuration&lt;/tt&gt;&lt;/a&gt;. The duration must be larger than 0.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setDuration(int)&quot;&gt;&lt;tt&gt;setDuration&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int endFrame()" doc="/**
&lt;p&gt;Returns the end frame, which is the frame corresponding to the end of the timeline (i.e&amp;#x2e;, the frame for which the current value is 1).&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setEndFrame(int)&quot;&gt;&lt;tt&gt;setEndFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int frameForTime(int msec)" doc="/**
&lt;p&gt;Returns the frame corresponding to the time &lt;tt&gt;msec&lt;/tt&gt;. This value is calculated using a linear interpolation of the start and end frame, based on the value returned by &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int loopCount()" doc="/**
&lt;p&gt;Returns the number of times the timeline should loop before it's finished..&lt;/p&gt;
&lt;p&gt;A loop count of of 0 means that the timeline will loop forever.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setLoopCount(int)&quot;&gt;&lt;tt&gt;setLoopCount&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void resume()" doc="/**
&lt;p&gt;Resumes the timeline from the current time. &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will reenter Running state, and once it enters the event loop, it will update its current time, frame and value at regular intervals.&lt;/p&gt;
&lt;p&gt;In contrast to &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;, this function does not restart the timeline before is resumes.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#updateInterval()&quot;&gt;&lt;tt&gt;updateInterval&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setCurrentTime(int msec)" doc="/**
&lt;p&gt;Sets the current time of the time line. to &lt;tt&gt;msec&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;When &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; is in Running state, this value is updated continuously as a function of the duration and direction of the timeline. Otherwise, it is value that was current when &lt;a href=&quot;QTimeLine.html#stop()&quot;&gt;&lt;tt&gt;stop&lt;/tt&gt;&lt;/a&gt; was called last, or the value set by &lt;a href=&quot;QTimeLine.html#setCurrentTime(int)&quot;&gt;&lt;tt&gt;setCurrentTime&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#currentTime()&quot;&gt;&lt;tt&gt;currentTime&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setCurveShape(com.trolltech.qt.core.QTimeLine.CurveShape shape)" doc="/**
&lt;p&gt;Sets the shape of the timeline curve. to &lt;tt&gt;shape&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The curve shape describes the relation between the time and value for the base implementation of &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have reimplemented &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;, this value is ignored.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#curveShape()&quot;&gt;&lt;tt&gt;curveShape&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setDirection(com.trolltech.qt.core.QTimeLine.Direction direction)" doc="/**
&lt;p&gt;Sets the direction of the timeline when &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; is in &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state. to &lt;tt&gt;direction&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;This direction indicates whether the time moves from 0 towards the timeline duration, or from the value of the duration and towards 0 after &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; has been called.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#direction()&quot;&gt;&lt;tt&gt;direction&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setDuration(int duration)" doc="/**
&lt;p&gt;Sets the total duration of the timeline in milliseconds. to &lt;tt&gt;duration&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;By default, this value is 1000 (i.e&amp;#x2e;, 1 second), but you can change this by either passing a duration to &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;'s constructor, or by calling &lt;a href=&quot;QTimeLine.html#setDuration(int)&quot;&gt;&lt;tt&gt;setDuration&lt;/tt&gt;&lt;/a&gt;. The duration must be larger than 0.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#duration()&quot;&gt;&lt;tt&gt;duration&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setEndFrame(int frame)" doc="/**
&lt;p&gt;Sets the end frame, which is the frame corresponding to the end of the timeline (i.e&amp;#x2e;, the frame for which the current value is 1), to &lt;tt&gt;frame&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#endFrame()&quot;&gt;&lt;tt&gt;endFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#startFrame()&quot;&gt;&lt;tt&gt;startFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setFrameRange(int startFrame, int endFrame)" doc="/**
&lt;p&gt;Sets the timeline's frame counter to start at &lt;tt&gt;startFrame&lt;/tt&gt;, and end and &lt;tt&gt;endFrame&lt;/tt&gt;. For each time value, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will find the corresponding frame when you call &lt;a href=&quot;QTimeLine.html#currentFrame()&quot;&gt;&lt;tt&gt;currentFrame&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QTimeLine.html#frameForTime(int)&quot;&gt;&lt;tt&gt;frameForTime&lt;/tt&gt;&lt;/a&gt; by interpolating, using the return value of &lt;a href=&quot;QTimeLine.html#valueForTime(int)&quot;&gt;&lt;tt&gt;valueForTime&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When in Running state, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; also emits the &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt; signal when the frame changes.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#startFrame()&quot;&gt;&lt;tt&gt;startFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#endFrame()&quot;&gt;&lt;tt&gt;endFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#currentFrame()&quot;&gt;&lt;tt&gt;currentFrame&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setLoopCount(int count)" doc="/**
&lt;p&gt;Sets the number of times the timeline should loop before it's finished. to &lt;tt&gt;count&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;A loop count of of 0 means that the timeline will loop forever.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#loopCount()&quot;&gt;&lt;tt&gt;loopCount&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setPaused(boolean paused)" doc="/**
&lt;p&gt;If &lt;tt&gt;paused&lt;/tt&gt; is true, the timeline is paused, causing &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; to enter Paused state. No updates will be signaled until either &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QTimeLine.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(false) is called. If &lt;tt&gt;paused&lt;/tt&gt; is false, the timeline is resumed and continues where it left.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#state()&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setStartFrame(int frame)" doc="/**
&lt;p&gt;Sets the start frame, which is the frame corresponding to the start of the timeline (i.e&amp;#x2e;, the frame for which the current value is 0), to &lt;tt&gt;frame&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#startFrame()&quot;&gt;&lt;tt&gt;startFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#endFrame()&quot;&gt;&lt;tt&gt;endFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setUpdateInterval(int interval)" doc="/**
&lt;p&gt;Sets the time in milliseconds between each time &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; updates its current time. to &lt;tt&gt;interval&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;When updating the current time, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will emit &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt; if the current value changed, and &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt; if the frame changed.&lt;/p&gt;
&lt;p&gt;By default, the interval is 40 ms, which corresponds to a rate of 25 updates per second.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#updateInterval()&quot;&gt;&lt;tt&gt;updateInterval&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void start()" doc="/**
&lt;p&gt;Starts or restarts the timeline. &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will enter Running state, and once it enters the event loop, it will update its current time, frame and value at regular intervals. The default interval is 40 ms (i.e&amp;#x2e;, 25 times per second). You can change the update interval by calling &lt;a href=&quot;QTimeLine.html#setUpdateInterval(int)&quot;&gt;&lt;tt&gt;setUpdateInterval&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you want to resume a stopped timeline without restarting, you can call &lt;a href=&quot;QTimeLine.html#resume()&quot;&gt;&lt;tt&gt;resume&lt;/tt&gt;&lt;/a&gt; instead.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#resume()&quot;&gt;&lt;tt&gt;resume&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#updateInterval()&quot;&gt;&lt;tt&gt;updateInterval&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int startFrame()" doc="/**
&lt;p&gt;Returns the start frame, which is the frame corresponding to the start of the timeline (i.e&amp;#x2e;, the frame for which the current value is 0).&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setStartFrame(int)&quot;&gt;&lt;tt&gt;setStartFrame&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setFrameRange(int, int)&quot;&gt;&lt;tt&gt;setFrameRange&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QTimeLine.State state()" doc="/**
&lt;p&gt;Returns the state of the timeline.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#stop()&quot;&gt;&lt;tt&gt;stop&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void stop()" doc="/**
&lt;p&gt;Stops the timeline, causing &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; to enter &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;&lt;tt&gt;NotRunning&lt;/tt&gt;&lt;/a&gt; state.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void toggleDirection()" doc="/**
&lt;p&gt;Toggles the direction of the timeline. If the direction was Forward, it becomes Backward, and vice verca.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setDirection(com.trolltech.qt.core.QTimeLine.Direction)&quot;&gt;&lt;tt&gt;setDirection&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int updateInterval()" doc="/**
&lt;p&gt;Returns the time in milliseconds between each time &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; updates its current time..&lt;/p&gt;
&lt;p&gt;When updating the current time, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will emit &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt; if the current value changed, and &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt; if the frame changed.&lt;/p&gt;
&lt;p&gt;By default, the interval is 40 ms, which corresponds to a rate of 25 updates per second.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setUpdateInterval(int)&quot;&gt;&lt;tt&gt;setUpdateInterval&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="protected void timerEvent(com.trolltech.qt.core.QTimerEvent event)" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
    <method name="public double valueForTime(int msec)" doc="/**
&lt;p&gt;Returns the timeline value for the time &lt;tt&gt;msec&lt;/tt&gt;. The returned value, which varies depending on the curve shape, is always between 0 and 1. If &lt;tt&gt;msec&lt;/tt&gt; is 0, the default implementation always returns 0.&lt;/p&gt;
&lt;p&gt;Reimplement this function to provide a custom curve shape for your timeline.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#CurveShape-enum&quot;&gt;&lt;tt&gt;CurveShape&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#frameForTime(int)&quot;&gt;&lt;tt&gt;frameForTime&lt;/tt&gt;&lt;/a&gt; */"/>
    <enum name="Direction" doc="/**
&lt;p&gt;This enum describes the direction of the timeline when in &lt;a href=&quot;QTimeLine.html#State-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setDirection(com.trolltech.qt.core.QTimeLine.Direction)&quot;&gt;&lt;tt&gt;setDirection&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="Forward" doc="/**
&lt;p&gt;The current time of the timeline increases with time (i.e&amp;#x2e;, moves from 0 and towards the end / duration).&lt;/p&gt;
 */"/>
        <enum-value name="Backward" doc="/**
&lt;p&gt;The current time of the timeline decreases with time (i.e&amp;#x2e;, moves from the end / duration and towards 0).&lt;/p&gt;
 */"/>
</enum>
    <enum name="CurveShape" doc="/**
&lt;p&gt;This enum describes the default shape of &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;'s value curve. The default, shape is &lt;a href=&quot;QTimeLine.html#CurveShape-enum&quot;&gt;&lt;tt&gt;EaseInOutCurve&lt;/tt&gt;&lt;/a&gt;. The curve defines the relation between the value and the timeline.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#setCurveShape(com.trolltech.qt.core.QTimeLine.CurveShape)&quot;&gt;&lt;tt&gt;setCurveShape&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="EaseInCurve" doc="/**
&lt;p&gt;The value starts growing slowly, then increases in speed.&lt;/p&gt;
 */"/>
        <enum-value name="EaseOutCurve" doc="/**
&lt;p&gt;The value starts growing steadily, then ends slowly.&lt;/p&gt;
 */"/>
        <enum-value name="EaseInOutCurve" doc="/**
&lt;p&gt;The value starts growing slowly, the runs steadily, then grows slowly again.&lt;/p&gt;
 */"/>
        <enum-value name="LinearCurve" doc="/**
&lt;p&gt;The value grows linearly (e.g&amp;#x2e;, if the duration is 1000 ms, the value at time 500 ms is 0.5).&lt;/p&gt;
 */"/>
        <enum-value name="SineCurve" doc="/**
&lt;p&gt;The value grows sinusoidally.&lt;/p&gt;
 */"/>
</enum>
    <enum name="State" doc="/**
&lt;p&gt;This enum describes the state of the timeline.&lt;/p&gt;

@see &lt;a href=&quot;QTimeLine.html#state()&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTimeLine.html#stateChanged(com.trolltech.qt.core.QTimeLine.State)&quot;&gt;&lt;tt&gt;stateChanged&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="NotRunning" doc="/**
&lt;p&gt;The timeline is not running. This is the initial state of &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt;, and the state &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; reenters when finished. The current time, frame and value remain unchanged until either &lt;a href=&quot;QTimeLine.html#setCurrentTime(int)&quot;&gt;&lt;tt&gt;setCurrentTime&lt;/tt&gt;&lt;/a&gt; is called, or the timeline is started by calling &lt;a href=&quot;QTimeLine.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="Paused" doc="/**
&lt;p&gt;The timeline is paused (i.e&amp;#x2e;, temporarily suspended). Calling &lt;a href=&quot;QTimeLine.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(false) will resume timeline activity.&lt;/p&gt;
 */"/>
        <enum-value name="Running" doc="/**
&lt;p&gt;The timeline is running. While control is in the event loop, &lt;a href=&quot;QTimeLine.html#QTimeLine(int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QTimeLine&lt;/tt&gt;&lt;/a&gt; will update its current time at regular intervals, emitting &lt;a href=&quot;QTimeLine.html#valueChanged(double)&quot;&gt;&lt;tt&gt;valueChanged&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QTimeLine.html#frameChanged(int)&quot;&gt;&lt;tt&gt;frameChanged&lt;/tt&gt;&lt;/a&gt; when appropriate.&lt;/p&gt;
 */"/>
</enum>
</class>
