.. include:: headings.inc .. currentmodule:: adv .. _adv.AnimationCtrl: ========================================================================================================================================== |phoenix_title| **AnimationCtrl** ========================================================================================================================================== This is a static control which displays an animation. :ref:`adv.AnimationCtrl` API is as simple as possible and won't give you full control on the animation; if you need it then use `MediaCtrl`. This control is useful to display a (small) animation while doing a long task (e.g. a "throbber"). It is only available if ``USE_ANIMATIONCTRL`` is set to 1 (the default). .. _AnimationCtrl-styles: |styles| Window Styles ================================ This class supports the following styles: - ``AC_DEFAULT_STYLE``: The default style: ``BORDER_NONE``. - ``AC_NO_AUTORESIZE``: By default, the control will adjust its size to exactly fit to the size of the animation when SetAnimation is called. If this style flag is given, the control will not change its size Implementations:GTK, MSW ports; a generic implementation is used elsewhere. .. seealso:: :ref:`adv.Animation`, | |class_hierarchy| Inheritance Diagram ===================================== Inheritance diagram for class **AnimationCtrl** .. raw:: html

Inheritance diagram of AnimationCtrl

| |appearance| Control Appearance =============================== | .. figure:: _static/images/widgets/fullsize/wxmsw/adv.animationctrl.png :alt: wxMSW :figclass: floatleft **wxMSW** .. figure:: _static/images/widgets/fullsize/wxmac/adv.animationctrl.png :alt: wxMAC :figclass: floatright **wxMAC** .. figure:: _static/images/widgets/fullsize/wxgtk/adv.animationctrl.png :alt: wxGTK :figclass: floatcenter **wxGTK** | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~AnimationCtrl.__init__` Initializes the object and calls :meth:`Create` with all the parameters. :meth:`~AnimationCtrl.Create` Creates the control with the given `anim` animation. :meth:`~AnimationCtrl.GetAnimation` Returns the animation associated with this control. :meth:`~AnimationCtrl.GetInactiveBitmap` Returns the inactive bitmap shown in this control when the; see :meth:`SetInactiveBitmap` for more info. :meth:`~AnimationCtrl.IsPlaying` Returns ``True`` if the animation is being played. :meth:`~AnimationCtrl.Load` Loads the animation from the given stream and calls :meth:`SetAnimation` . :meth:`~AnimationCtrl.LoadFile` Loads the animation from the given file and calls :meth:`SetAnimation` . :meth:`~AnimationCtrl.Play` Starts playing the animation. :meth:`~AnimationCtrl.SetAnimation` Sets the animation to play in this control. :meth:`~AnimationCtrl.SetInactiveBitmap` Sets the bitmap to show on the control when it's not playing an animation. :meth:`~AnimationCtrl.Stop` Stops playing the animation. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~AnimationCtrl.Animation` See :meth:`~AnimationCtrl.GetAnimation` and :meth:`~AnimationCtrl.SetAnimation` :attr:`~AnimationCtrl.InactiveBitmap` See :meth:`~AnimationCtrl.GetInactiveBitmap` and :meth:`~AnimationCtrl.SetInactiveBitmap` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: AnimationCtrl(Control) This is a static control which displays an animation. **Possible constructors**:: AnimationCtrl(parent, id=ID_ANY, anim=NullAnimation, pos=DefaultPosition, size=DefaultSize, style=AC_DEFAULT_STYLE, name=AnimationCtrlNameStr) .. method:: __init__(self, parent, id=ID_ANY, anim=NullAnimation, pos=DefaultPosition, size=DefaultSize, style=AC_DEFAULT_STYLE, name=AnimationCtrlNameStr) Initializes the object and calls :meth:`Create` with all the parameters. :param `parent`: :type `parent`: Window :param `id`: :type `id`: int :param `anim`: :type `anim`: adv.Animation :param `pos`: :type `pos`: Point :param `size`: :type `size`: Size :param `style`: :type `style`: long :param `name`: :type `name`: string .. method:: Create(self, parent, id=ID_ANY, anim=NullAnimation, pos=DefaultPosition, size=DefaultSize, style=AC_DEFAULT_STYLE, name=AnimationCtrlNameStr) Creates the control with the given `anim` animation. After control creation you must explicitly call :meth:`Play` to start to play the animation. Until that function won't be called, the first frame of the animation is displayed. :param `parent`: Parent window, must be not ``None``. :type `parent`: Window :param `id`: The identifier for the control. :type `id`: int :param `anim`: The initial animation shown in the control. :type `anim`: adv.Animation :param `pos`: Initial position. :type `pos`: Point :param `size`: Initial size. :type `size`: Size :param `style`: The window style, see ``AC_`` flags. :type `style`: long :param `name`: Control name. :type `name`: string :rtype: `bool` :returns: ``True`` if the control was successfully created or ``False`` if creation failed. .. method:: GetAnimation(self) Returns the animation associated with this control. :rtype: :ref:`adv.Animation` .. method:: GetInactiveBitmap(self) Returns the inactive bitmap shown in this control when the; see :meth:`SetInactiveBitmap` for more info. :rtype: :ref:`Bitmap` .. method:: IsPlaying(self) Returns ``True`` if the animation is being played. :rtype: `bool` .. method:: Load(self, file, animType=ANIMATION_TYPE_ANY) Loads the animation from the given stream and calls :meth:`SetAnimation` . See :meth:`Animation.Load` for more info. :param `file`: :type `file`: InputStream :param `animType`: :type `animType`: AnimationType :rtype: `bool` .. method:: LoadFile(self, file, animType=ANIMATION_TYPE_ANY) Loads the animation from the given file and calls :meth:`SetAnimation` . See :meth:`Animation.LoadFile` for more info. :param `file`: :type `file`: string :param `animType`: :type `animType`: AnimationType :rtype: `bool` .. method:: Play(self) Starts playing the animation. The animation is always played in loop mode (unless the last frame of the animation has an infinite delay time) and always start from the first frame even if you :meth:`stopped` it while some other frame was displayed. :rtype: `bool` .. method:: SetAnimation(self, anim) Sets the animation to play in this control. If the previous animation is being played, it's :meth:`Stop` stopped. Until :meth:`Play` isn't called, a static image, the first frame of the given animation or the background colour will be shown (see :meth:`SetInactiveBitmap` for more info). :param `anim`: :type `anim`: adv.Animation .. method:: SetInactiveBitmap(self, bmp) Sets the bitmap to show on the control when it's not playing an animation. If you set as inactive bitmap ``NullBitmap`` (which is the default), then the first frame of the animation is instead shown when the control is inactive; in this case, if there's no valid animation associated with the control (see :meth:`SetAnimation` ), then the background colour of the window is shown. If the control is not playing the animation, the given bitmap will be immediately shown, otherwise it will be shown as soon as :meth:`Stop` is called. Note that the inactive bitmap, if smaller than the control's size, will be centered in the control; if bigger, it will be stretched to fit it. :param `bmp`: :type `bmp`: Bitmap .. method:: Stop(self) Stops playing the animation. The control will show the first frame of the animation, a custom static image or the window's background colour as specified by the last :meth:`SetInactiveBitmap` call. .. attribute:: Animation See :meth:`~AnimationCtrl.GetAnimation` and :meth:`~AnimationCtrl.SetAnimation` .. attribute:: InactiveBitmap See :meth:`~AnimationCtrl.GetInactiveBitmap` and :meth:`~AnimationCtrl.SetInactiveBitmap`