<class name="QMovie" doc="/**
&lt;p&gt;The &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; class is a convenience class for playing movies with &lt;a href=&quot;QImageReader.html&quot;&gt;&lt;tt&gt;QImageReader&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;First, create a &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; object by passing either the name of a file or a pointer to a &lt;a href=&quot;%2E%2E/core/QIODevice.html&quot;&gt;&lt;tt&gt;QIODevice&lt;/tt&gt;&lt;/a&gt; containing an animated image format to &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;'s constructor. You can call &lt;a href=&quot;QMovie.html#isValid()&quot;&gt;&lt;tt&gt;isValid&lt;/tt&gt;&lt;/a&gt; to check if the image data is valid, before starting the movie. To start the movie, call &lt;a href=&quot;QMovie.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will enter &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state, and emit &lt;a href=&quot;QMovie.html#started()&quot;&gt;&lt;tt&gt;started&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QMovie.html#stateChanged(com.trolltech.qt.gui.QMovie.MovieState)&quot;&gt;&lt;tt&gt;stateChanged&lt;/tt&gt;&lt;/a&gt;. To get the current state of the movie, call &lt;a href=&quot;QMovie.html#state()&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To display the movie in your application, you can pass your &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; object to QLabel::setMovie(). Example:&lt;/p&gt;
&lt;pre&gt;    QLabel label;
    QMovie *movie = new QMovie(&amp;quot;animations/fire.gif&amp;quot;);

    label.setMovie(movie);
    movie-&amp;gt;start();&lt;/pre&gt;
&lt;p&gt;Whenever a new frame is available in the movie, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will emit &lt;a href=&quot;QMovie.html#updated(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;updated&lt;/tt&gt;&lt;/a&gt;. If the size of the frame changes, &lt;a href=&quot;QMovie.html#resized(com.trolltech.qt.core.QSize)&quot;&gt;&lt;tt&gt;resized&lt;/tt&gt;&lt;/a&gt; is emitted. You can call &lt;a href=&quot;QMovie.html#currentImage()&quot;&gt;&lt;tt&gt;currentImage&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QMovie.html#currentPixmap()&quot;&gt;&lt;tt&gt;currentPixmap&lt;/tt&gt;&lt;/a&gt; to get a copy of the current frame. When the movie is done, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; emits &lt;a href=&quot;QMovie.html#finished()&quot;&gt;&lt;tt&gt;finished&lt;/tt&gt;&lt;/a&gt;. If any error occurs during playback (i.e, the image file is corrupt), &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will emit &lt;a href=&quot;QMovie.html#error(com.trolltech.qt.gui.QImageReader.ImageReaderError)&quot;&gt;&lt;tt&gt;error&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can control the speed of the movie playback by calling &lt;a href=&quot;QMovie.html#setSpeed(int)&quot;&gt;&lt;tt&gt;setSpeed&lt;/tt&gt;&lt;/a&gt;, which takes the percentage of the original speed as an argument. Pause the movie by calling &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(true). &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will then enter &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Paused&lt;/tt&gt;&lt;/a&gt; state and emit &lt;a href=&quot;QMovie.html#stateChanged(com.trolltech.qt.gui.QMovie.MovieState)&quot;&gt;&lt;tt&gt;stateChanged&lt;/tt&gt;&lt;/a&gt;. If you call &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(false), &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will reenter &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state and start the movie again. To stop the movie, call &lt;a href=&quot;QMovie.html#stop()&quot;&gt;&lt;tt&gt;stop&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Certain animation formats allow you to set the background color. You can call &lt;a href=&quot;QMovie.html#setBackgroundColor(com.trolltech.qt.gui.QColor)&quot;&gt;&lt;tt&gt;setBackgroundColor&lt;/tt&gt;&lt;/a&gt; to set the color, or &lt;a href=&quot;QMovie.html#backgroundColor()&quot;&gt;&lt;tt&gt;backgroundColor&lt;/tt&gt;&lt;/a&gt; to retrieve the current background color.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QMovie.html#currentFrameNumber()&quot;&gt;&lt;tt&gt;currentFrameNumber&lt;/tt&gt;&lt;/a&gt; returns the sequence number of the current frame. The first frame in the animation has the sequence number 0. &lt;a href=&quot;QMovie.html#frameCount()&quot;&gt;&lt;tt&gt;frameCount&lt;/tt&gt;&lt;/a&gt; returns the total number of frames in the animation, if the image format supports this. You can call &lt;a href=&quot;QMovie.html#loopCount()&quot;&gt;&lt;tt&gt;loopCount&lt;/tt&gt;&lt;/a&gt; to get the number of times the movie should loop before finishing. &lt;a href=&quot;QMovie.html#nextFrameDelay()&quot;&gt;&lt;tt&gt;nextFrameDelay&lt;/tt&gt;&lt;/a&gt; returns the number of milliseconds the current frame should be displayed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; can be instructed to cache frames of an animation by calling &lt;a href=&quot;QMovie.html#setCacheMode(com.trolltech.qt.gui.QMovie.CacheMode)&quot;&gt;&lt;tt&gt;setCacheMode&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Call &lt;a href=&quot;QMovie.html#supportedFormats()&quot;&gt;&lt;tt&gt;supportedFormats&lt;/tt&gt;&lt;/a&gt; for a list of formats that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; supports.&lt;/p&gt;

@see &lt;a href=&quot;QLabel.html&quot;&gt;&lt;tt&gt;QLabel&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QImageReader.html&quot;&gt;&lt;tt&gt;QImageReader&lt;/tt&gt;&lt;/a&gt;
@see Movie Example&lt;/tt&gt; */">
    <signal name="protected final void error(com.trolltech.qt.gui.QImageReader.ImageReaderError error)" doc="/**
&lt;p&gt;This signal is emitted by &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; when the error &lt;tt&gt;error&lt;/tt&gt; occurred during playback. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will stop the movie, and enter QMovie::NotRunning state.&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.gui.QImageReader.ImageReaderError error)&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 finished()" doc="/**
&lt;p&gt;This signal is emitted when the movie has finished.&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;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;QMovie::stop&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void frameChanged(int frameNumber)" doc="/**
&lt;p&gt;This signal is emitted when the frame number has changed to &lt;tt&gt;frameNumber&lt;/tt&gt;. You can call &lt;a href=&quot;QMovie.html#currentImage()&quot;&gt;&lt;tt&gt;currentImage&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QMovie.html#currentPixmap()&quot;&gt;&lt;tt&gt;currentPixmap&lt;/tt&gt;&lt;/a&gt; to get a copy of the frame.&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 frameNumber)&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 resized(com.trolltech.qt.core.QSize size)" doc="/**
&lt;p&gt;This signal is emitted when the current frame has been resized to &lt;tt&gt;size&lt;/tt&gt;. This effect is sometimes used in animations as an alternative to replacing the frame. You can call &lt;a href=&quot;QMovie.html#currentImage()&quot;&gt;&lt;tt&gt;currentImage&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QMovie.html#currentPixmap()&quot;&gt;&lt;tt&gt;currentPixmap&lt;/tt&gt;&lt;/a&gt; to get a copy of the updated frame.&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.QSize size)&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 started()" doc="/**
&lt;p&gt;This signal is emitted after QMovie::start() has been called, and &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; has entered QMovie::Running state.&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 stateChanged(com.trolltech.qt.gui.QMovie.MovieState state)" doc="/**
&lt;p&gt;This signal is emitted every time the state of the movie changes. The new state is specified by &lt;tt&gt;state&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.gui.QMovie.MovieState state)&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;QMovie::state&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void updated(com.trolltech.qt.core.QRect rect)" doc="/**
&lt;p&gt;This signal is emitted when the rect &lt;tt&gt;rect&lt;/tt&gt; in the current frame has been updated. You can call &lt;a href=&quot;QMovie.html#currentImage()&quot;&gt;&lt;tt&gt;currentImage&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QMovie.html#currentPixmap()&quot;&gt;&lt;tt&gt;currentPixmap&lt;/tt&gt;&lt;/a&gt; to get a copy of the updated frame.&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.QRect rect)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <method name="public QMovie(com.trolltech.qt.core.QIODevice device, com.trolltech.qt.core.QByteArray format, com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; object. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will use read image data from &lt;tt&gt;device&lt;/tt&gt;, which it assumes is open and readable. If &lt;tt&gt;format&lt;/tt&gt; is not empty, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will use the image format &lt;tt&gt;format&lt;/tt&gt; for decoding the image data. Otherwise, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will attempt to guess the format.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;parent&lt;/tt&gt; object is passed to &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QObject.html#QObject(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QObject&lt;/tt&gt;&lt;/a&gt;'s constructor.&lt;/p&gt;
 */"/>
    <method name="public QMovie(com.trolltech.qt.core.QIODevice device, com.trolltech.qt.core.QByteArray format)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;device&lt;/tt&gt;, &lt;tt&gt;format&lt;/tt&gt;, 0). */"/>
    <method name="public QMovie(com.trolltech.qt.core.QIODevice device)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;device&lt;/tt&gt;, QByteArray(), 0). */"/>
    <method name="public QMovie(java.lang.String fileName, com.trolltech.qt.core.QByteArray format, com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; object. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will use read image data from &lt;tt&gt;fileName&lt;/tt&gt;. If &lt;tt&gt;format&lt;/tt&gt; is not empty, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will use the image format &lt;tt&gt;format&lt;/tt&gt; for decoding the image data. Otherwise, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will attempt to guess the format.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;parent&lt;/tt&gt; object is passed to &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QObject.html#QObject(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QObject&lt;/tt&gt;&lt;/a&gt;'s constructor.&lt;/p&gt;
 */"/>
    <method name="public QMovie(java.lang.String fileName, com.trolltech.qt.core.QByteArray format)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;fileName&lt;/tt&gt;, &lt;tt&gt;format&lt;/tt&gt;, 0). */"/>
    <method name="public QMovie(java.lang.String fileName)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;fileName&lt;/tt&gt;, QByteArray(), 0). */"/>
    <method name="public QMovie(com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; object, passing the &lt;tt&gt;parent&lt;/tt&gt; object to &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QObject.html#QObject(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QObject&lt;/tt&gt;&lt;/a&gt;'s constructor.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setFileName(java.lang.String)&quot;&gt;&lt;tt&gt;setFileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setDevice(com.trolltech.qt.core.QIODevice)&quot;&gt;&lt;tt&gt;setDevice&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setFormat(com.trolltech.qt.core.QByteArray)&quot;&gt;&lt;tt&gt;setFormat&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public QMovie()" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;(0). */"/>
    <method name="public final com.trolltech.qt.gui.QColor backgroundColor()" doc="/**
&lt;p&gt;Returns the background color of the movie. If no background color has been assigned, an invalid &lt;a href=&quot;QColor.html&quot;&gt;&lt;tt&gt;QColor&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setBackgroundColor(com.trolltech.qt.gui.QColor)&quot;&gt;&lt;tt&gt;setBackgroundColor&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QMovie.CacheMode cacheMode()" doc="/**
&lt;p&gt;Returns the movie's cache mode.&lt;/p&gt;
&lt;p&gt;Caching frames can be useful when the underlying animation format handler that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; relies on to decode the animation data does not support jumping to particular frames in the animation, or even &amp;quot;rewinding&amp;quot; the animation to the beginning (for looping). Furthermore, if the image data comes from a sequential device, it is not possible for the underlying animation handler to seek back to frames whose data has already been read (making looping altogether impossible). To aid in such situations, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; can be instructed to cache the frames, at the added memory cost of keeping the frames in memory for the lifetime of the &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setCacheMode(com.trolltech.qt.gui.QMovie.CacheMode)&quot;&gt;&lt;tt&gt;setCacheMode&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QMovie::CacheMode&lt;/tt&gt; */"/>
    <method name="public final int currentFrameNumber()" doc="/**
&lt;p&gt;Returns the sequence number of the current frame. The number of the first frame in the movie is 0.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QImage currentImage()" doc="/**
&lt;p&gt;Returns the current frame as a &lt;a href=&quot;QImage.html&quot;&gt;&lt;tt&gt;QImage&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#currentPixmap()&quot;&gt;&lt;tt&gt;currentPixmap&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#updated(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;updated&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QPixmap currentPixmap()" doc="/**
&lt;p&gt;Returns the current frame as a &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#currentImage()&quot;&gt;&lt;tt&gt;currentImage&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#updated(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;updated&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QIODevice device()" doc="/**
&lt;p&gt;Returns the device &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; reads image data from. If no device has currently been assigned, 0 is returned.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setDevice(com.trolltech.qt.core.QIODevice)&quot;&gt;&lt;tt&gt;setDevice&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String fileName()" doc="/**
&lt;p&gt;Returns the name of the file that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; reads image data from. If no file name has been assigned, or if the assigned device is not a file, an empty &lt;a href=&quot;%2E%2E/porting4.html#qstring&quot;&gt;&lt;tt&gt;QString&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setFileName(java.lang.String)&quot;&gt;&lt;tt&gt;setFileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#device()&quot;&gt;&lt;tt&gt;device&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QByteArray format()" doc="/**
&lt;p&gt;Returns the format that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; uses when decoding image data. If no format has been assigned, an empty &lt;a href=&quot;%2E%2E/porting4.html#qbytearray&quot;&gt;&lt;tt&gt;QByteArray&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setFormat(com.trolltech.qt.core.QByteArray)&quot;&gt;&lt;tt&gt;setFormat&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int frameCount()" doc="/**
&lt;p&gt;Returns the number of frames in the movie.&lt;/p&gt;
&lt;p&gt;Certain animation formats do not support this feature, in which case 0 is returned.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.core.QRect frameRect()" doc="/**
&lt;p&gt;Returns the rect of the last frame. If no frame has yet been updated, an invalid &lt;a href=&quot;%2E%2E/core/QRect.html&quot;&gt;&lt;tt&gt;QRect&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#currentImage()&quot;&gt;&lt;tt&gt;currentImage&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#currentPixmap()&quot;&gt;&lt;tt&gt;currentPixmap&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isValid()" doc="/**
&lt;p&gt;Returns true if the movie is valid (e.g&amp;#x2e;, the image data is readable and the image format is supported); otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final boolean jumpToFrame(int frameNumber)" doc="/**
&lt;p&gt;Jumps to frame number &lt;tt&gt;frameNumber&lt;/tt&gt;. Returns true on success; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final boolean jumpToNextFrame()" doc="/**
&lt;p&gt;Jumps to the next frame. Returns true on success; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final int loopCount()" doc="/**
&lt;p&gt;Returns the number of times the movie will loop before it finishes. If the movie will only play once (no looping), &lt;a href=&quot;QMovie.html#loopCount()&quot;&gt;&lt;tt&gt;loopCount&lt;/tt&gt;&lt;/a&gt; returns 0. If the movie loops forever, &lt;a href=&quot;QMovie.html#loopCount()&quot;&gt;&lt;tt&gt;loopCount&lt;/tt&gt;&lt;/a&gt; returns -1.&lt;/p&gt;
&lt;p&gt;Note that, if the image data comes from a sequential device (e.g&amp;#x2e; a socket), &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; can only loop the movie if the &lt;a href=&quot;QMovie.html#cacheMode()&quot;&gt;&lt;tt&gt;cacheMode&lt;/tt&gt;&lt;/a&gt; is set to QMovie::CacheAll.&lt;/p&gt;
 */"/>
    <method name="public final int nextFrameDelay()" doc="/**
&lt;p&gt;Returns the number of milliseconds &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will wait before updating the next frame in the animation.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.core.QSize scaledSize()" doc="/**
&lt;p&gt;Returns the scaled size of frames.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#setScaledSize(com.trolltech.qt.core.QSize)&quot;&gt;&lt;tt&gt;setScaledSize&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QImageReader::scaledSize&lt;/tt&gt; */"/>
    <method name="public final void setBackgroundColor(com.trolltech.qt.gui.QColor color)" doc="/**
&lt;p&gt;For image formats that support it, this function sets the background color to &lt;tt&gt;color&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#backgroundColor()&quot;&gt;&lt;tt&gt;backgroundColor&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setCacheMode(com.trolltech.qt.gui.QMovie.CacheMode mode)" doc="/**
&lt;p&gt;Sets the movie's cache mode to &lt;tt&gt;mode&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Caching frames can be useful when the underlying animation format handler that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; relies on to decode the animation data does not support jumping to particular frames in the animation, or even &amp;quot;rewinding&amp;quot; the animation to the beginning (for looping). Furthermore, if the image data comes from a sequential device, it is not possible for the underlying animation handler to seek back to frames whose data has already been read (making looping altogether impossible). To aid in such situations, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; can be instructed to cache the frames, at the added memory cost of keeping the frames in memory for the lifetime of the &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#cacheMode()&quot;&gt;&lt;tt&gt;cacheMode&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QMovie::CacheMode&lt;/tt&gt; */"/>
    <method name="public final void setDevice(com.trolltech.qt.core.QIODevice device)" doc="/**
&lt;p&gt;Sets the current device to &lt;tt&gt;device&lt;/tt&gt;. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will read image data from this device when the movie is running.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#device()&quot;&gt;&lt;tt&gt;device&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setFormat(com.trolltech.qt.core.QByteArray)&quot;&gt;&lt;tt&gt;setFormat&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setFileName(java.lang.String fileName)" doc="/**
&lt;p&gt;Sets the name of the file that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; reads image data from, to &lt;tt&gt;fileName&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setDevice(com.trolltech.qt.core.QIODevice)&quot;&gt;&lt;tt&gt;setDevice&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setFormat(com.trolltech.qt.core.QByteArray)&quot;&gt;&lt;tt&gt;setFormat&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setFormat(com.trolltech.qt.core.QByteArray format)" doc="/**
&lt;p&gt;Sets the format that &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will use when decoding image data, to &lt;tt&gt;format&lt;/tt&gt;. By default, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will attempt to guess the format of the image data.&lt;/p&gt;
&lt;p&gt;You can call &lt;a href=&quot;QMovie.html#supportedFormats()&quot;&gt;&lt;tt&gt;supportedFormats&lt;/tt&gt;&lt;/a&gt; for the full list of formats &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; supports.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#format()&quot;&gt;&lt;tt&gt;format&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QImageReader::supportedImageFormats&lt;/tt&gt; */"/>
    <method name="public final void setPaused(boolean paused)" doc="/**
&lt;p&gt;If &lt;tt&gt;paused&lt;/tt&gt; is true, &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will enter &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Paused&lt;/tt&gt;&lt;/a&gt; state and emit &lt;a href=&quot;QMovie.html#stateChanged(com.trolltech.qt.gui.QMovie.MovieState)&quot;&gt;&lt;tt&gt;stateChanged&lt;/tt&gt;&lt;/a&gt;(Paused); otherwise it will enter &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state and emit &lt;a href=&quot;QMovie.html#stateChanged(com.trolltech.qt.gui.QMovie.MovieState)&quot;&gt;&lt;tt&gt;stateChanged&lt;/tt&gt;&lt;/a&gt;(Running).&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#state()&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setScaledSize(com.trolltech.qt.core.QSize size)" doc="/**
&lt;p&gt;Sets the scaled frame size to &lt;tt&gt;size&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#scaledSize()&quot;&gt;&lt;tt&gt;scaledSize&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QImageReader::setScaledSize&lt;/tt&gt; */"/>
    <method name="public final void setSpeed(int percentSpeed)" doc="/**
&lt;p&gt;Sets the movie's speed to &lt;tt&gt;percentSpeed&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The speed is measured in percentage of the original movie speed. The default speed is 100%. Example:&lt;/p&gt;
&lt;pre&gt;    QMovie movie(&amp;quot;racecar.gif&amp;quot;);
    movie.setSpeed(200); &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; 2x speed&lt;/pre&gt;

@see &lt;a href=&quot;QMovie.html#speed()&quot;&gt;&lt;tt&gt;speed&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int speed()" doc="/**
&lt;p&gt;Returns the movie's speed.&lt;/p&gt;
&lt;p&gt;The speed is measured in percentage of the original movie speed. The default speed is 100%. Example:&lt;/p&gt;
&lt;pre&gt;    QMovie movie(&amp;quot;racecar.gif&amp;quot;);
    movie.setSpeed(200); &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; 2x speed&lt;/pre&gt;

@see &lt;a href=&quot;QMovie.html#setSpeed(int)&quot;&gt;&lt;tt&gt;setSpeed&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void start()" doc="/**
&lt;p&gt;Starts the movie. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; will enter &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state, and start emitting &lt;a href=&quot;QMovie.html#updated(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;updated&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QMovie.html#resized(com.trolltech.qt.core.QSize)&quot;&gt;&lt;tt&gt;resized&lt;/tt&gt;&lt;/a&gt; as the movie progresses.&lt;/p&gt;
&lt;p&gt;If &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; is in the &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Paused&lt;/tt&gt;&lt;/a&gt; state, this function is equivalent to calling &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(false). If &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; is already in the &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;Running&lt;/tt&gt;&lt;/a&gt; state, this function does nothing.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#stop()&quot;&gt;&lt;tt&gt;stop&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QMovie.MovieState state()" doc="/**
&lt;p&gt;Returns the current state of &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;&lt;tt&gt;MovieState&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#stateChanged(com.trolltech.qt.gui.QMovie.MovieState)&quot;&gt;&lt;tt&gt;stateChanged&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void stop()" doc="/**
&lt;p&gt;Stops the movie. &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; enters &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;&lt;tt&gt;NotRunning&lt;/tt&gt;&lt;/a&gt; state, and stops emitting &lt;a href=&quot;QMovie.html#updated(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;updated&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QMovie.html#resized(com.trolltech.qt.core.QSize)&quot;&gt;&lt;tt&gt;resized&lt;/tt&gt;&lt;/a&gt;. If &lt;a href=&quot;QMovie.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt; is called again, the movie will restart from the beginning.&lt;/p&gt;
&lt;p&gt;If &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; is already in the &lt;a href=&quot;QMovie.html#MovieState-enum&quot;&gt;&lt;tt&gt;NotRunning&lt;/tt&gt;&lt;/a&gt; state, this function does nothing.&lt;/p&gt;

@see &lt;a href=&quot;QMovie.html#start()&quot;&gt;&lt;tt&gt;start&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public native static java.util.List&lt;com.trolltech.qt.core.QByteArray&gt; supportedFormats()" doc="/**
&lt;p&gt;Returns the list of image formats supported by &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;tt&gt;QImageReader::supportedImageFormats&lt;/tt&gt; */"/>
    <enum name="CacheMode" doc="/**
&lt;p&gt;This enum describes the different cache modes of &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */">
        <enum-value name="CacheNone" doc="/**
&lt;p&gt;No frames are cached (the default).&lt;/p&gt;
 */"/>
        <enum-value name="CacheAll" doc="/**
&lt;p&gt;All frames are cached.&lt;/p&gt;
 */"/>
</enum>
    <enum name="MovieState" doc="/**
&lt;p&gt;This enum describes the different states of &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */">
        <enum-value name="NotRunning" doc="/**
&lt;p&gt;The movie is not running. This is &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt;'s initial state, and the state it enters after &lt;a href=&quot;QMovie.html#stop()&quot;&gt;&lt;tt&gt;stop&lt;/tt&gt;&lt;/a&gt; has been called or the movie is finished.&lt;/p&gt;
 */"/>
        <enum-value name="Paused" doc="/**
&lt;p&gt;The movie is paused, and &lt;a href=&quot;QMovie.html#QMovie(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QMovie&lt;/tt&gt;&lt;/a&gt; stops emitting &lt;a href=&quot;QMovie.html#updated(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;updated&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QMovie.html#resized(com.trolltech.qt.core.QSize)&quot;&gt;&lt;tt&gt;resized&lt;/tt&gt;&lt;/a&gt;. This state is entered after calling pause() or &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(true). The current frame number it kept, and the movie will continue with the next frame when unpause() or &lt;a href=&quot;QMovie.html#setPaused(boolean)&quot;&gt;&lt;tt&gt;setPaused&lt;/tt&gt;&lt;/a&gt;(false) is called.&lt;/p&gt;
 */"/>
        <enum-value name="Running" doc="/**
&lt;p&gt;The movie is running.&lt;/p&gt;
 */"/>
</enum>
</class>
