.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.adv.AnimationCtrl:

==========================================================================================================================================
|phoenix_title|  **wx.adv.AnimationCtrl**
==========================================================================================================================================

This is a static control which displays an animation.          

:ref:`wx.adv.AnimationCtrl`  API is as simple as possible and won't give you full control on the animation; if you need it then use :ref:`wx.media.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). 

For the platforms where this control has a native implementation, it may have only limited support for the animation types, see  :ref:`wx.adv.GenericAnimationCtrl`  if you need to support all of them. 





.. _AnimationCtrl-styles:

|styles| Window Styles
================================

This class supports the following styles: 

  

- ``wx.adv.AC_DEFAULT_STYLE``: The default style: ``wx.BORDER_NONE``.  
- ``wx.adv.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:`wx.adv.Animation`, :ref:`Animation Sample <animation sample>`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>AnimationCtrl</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.adv.AnimationCtrl_inheritance.png" alt="Inheritance diagram of AnimationCtrl" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.adv.AnimationCtrl.html" title="wx.adv.AnimationCtrl" alt="" coords="27,315,190,344"/> <area shape="rect" id="node2" href="wx.Control.html" title="wx.Control" alt="" coords="63,237,155,267"/> <area shape="rect" id="node3" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node4" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node5" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node6" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


|appearance| Control Appearance
===============================

|

.. figure:: _static/images/widgets/fullsize/wxmsw/wx.adv.animationctrl.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


.. figure:: _static/images/widgets/fullsize/wxmac/wx.adv.animationctrl.png
   :alt: wxMAC
   :figclass: floatright

   **wxMAC**


.. figure:: _static/images/widgets/fullsize/wxgtk/wx.adv.animationctrl.png
   :alt: wxGTK
   :figclass: floatcenter

   **wxGTK**


|


|sub_classes| Known Subclasses
==============================

:ref:`wx.adv.GenericAnimationCtrl`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.adv.AnimationCtrl.__init__`                                           Initializes the object and calls :meth:`~AnimationCtrl.Create`   with all the parameters.
:meth:`~wx.adv.AnimationCtrl.Create`                                             Creates the control with the given `anim`  animation.
:meth:`~wx.adv.AnimationCtrl.CreateAnimation`                                    Create a new animation object compatible with this control.
:meth:`~wx.adv.AnimationCtrl.CreateCompatibleAnimation`                          Create a new animation object compatible with this control.
:meth:`~wx.adv.AnimationCtrl.GetAnimation`                                       Returns the animation associated with this control.
:meth:`~wx.adv.AnimationCtrl.GetClassDefaultAttributes`                          
:meth:`~wx.adv.AnimationCtrl.GetInactiveBitmap`                                  Returns the inactive bitmap shown in this control when the; see :meth:`~AnimationCtrl.SetInactiveBitmap`   for more info.
:meth:`~wx.adv.AnimationCtrl.IsPlaying`                                          Returns ``True`` if the animation is being played.
:meth:`~wx.adv.AnimationCtrl.Load`                                               Loads the animation from the given stream and calls :meth:`~AnimationCtrl.SetAnimation` .
:meth:`~wx.adv.AnimationCtrl.LoadFile`                                           Loads the animation from the given file and calls :meth:`~AnimationCtrl.SetAnimation` .
:meth:`~wx.adv.AnimationCtrl.Play`                                               Starts playing the animation.
:meth:`~wx.adv.AnimationCtrl.SetAnimation`                                       Sets the animation to play in this control.
:meth:`~wx.adv.AnimationCtrl.SetInactiveBitmap`                                  Sets the bitmap to show on the control when it's not playing an animation.
:meth:`~wx.adv.AnimationCtrl.Stop`                                               Stops playing the animation.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.adv.AnimationCtrl.Animation`                                          See :meth:`~wx.adv.AnimationCtrl.GetAnimation` and :meth:`~wx.adv.AnimationCtrl.SetAnimation`
:attr:`~wx.adv.AnimationCtrl.InactiveBitmap`                                     See :meth:`~wx.adv.AnimationCtrl.GetInactiveBitmap` and :meth:`~wx.adv.AnimationCtrl.SetInactiveBitmap`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.adv.AnimationCtrl(Control)

   **Possible constructors**::

       AnimationCtrl(parent, id=ID_ANY, anim=NullAnimation,
                     pos=DefaultPosition, size=DefaultSize, style=AC_DEFAULT_STYLE,
                     name=AnimationCtrlNameStr)
       
   
   This is a static control which displays an animation.



   .. 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`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `anim`: 
      :type `anim`: wx.adv.Animation
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.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 non-NULL.   
      :type `parent`: wx.Window
      :param `id`: The identifier for the control.   
      :type `id`: wx.WindowID
      :param `anim`: The initial animation shown in the control.   
      :type `anim`: wx.adv.Animation
      :param `pos`: Initial position.   
      :type `pos`: wx.Point
      :param `size`: Initial size.   
      :type `size`: wx.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:: CreateAnimation(self)

      Create a new animation object compatible with this control.                  

      A :ref:`wx.adv.Animation`  object created using this function is always compatible with controls of this type, see :meth:`wx.adv.Animation.IsCompatibleWith` . 

                

      :rtype: :ref:`wx.adv.Animation`







      .. versionadded:: 4.1/wxWidgets-3.1.4  
     







      .. seealso:: :meth:`CreateCompatibleAnimation`   








   .. staticmethod:: CreateCompatibleAnimation()

      Create a new animation object compatible with this control.                  

      This method does the same thing as :meth:`CreateAnimation`   but is static, i.e. can be called without creating any :ref:`wx.adv.AnimationCtrl`  objects. 

                

      :rtype: :ref:`wx.adv.Animation`







      .. versionadded:: 4.1/wxWidgets-3.1.4  
     








   .. method:: GetAnimation(self)

      Returns the animation associated with this control.                  

      :rtype: :ref:`wx.adv.Animation`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`VisualAttributes`








   .. 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:`wx.adv.Animation.Load`   for more info.                  


      :param `file`: 
      :type `file`: wx.InputStream
      :param `animType`: 
      :type `animType`: wx.adv.AnimationType




      :rtype: `bool`








   .. method:: LoadFile(self, file, animType=ANIMATION_TYPE_ANY)

      Loads the animation from the given file and calls :meth:`SetAnimation` .                  

      See :meth:`wx.adv.Animation.LoadFile`   for more info.                  


      :param `file`: 
      :type `file`: string
      :param `animType`: 
      :type `animType`: wx.adv.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`: wx.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 :ref:`wx.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`: wx.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:`~wx.adv.AnimationCtrl.GetAnimation` and :meth:`~wx.adv.AnimationCtrl.SetAnimation`


   .. attribute:: InactiveBitmap

      See :meth:`~wx.adv.AnimationCtrl.GetInactiveBitmap` and :meth:`~wx.adv.AnimationCtrl.SetInactiveBitmap`

