#############################################################################
## Name:        XS/AnimationCtrl.xsp
## Purpose:     XS+++ for Wx::AnimationCtrl
## Author:      Mattia Barbon
## Modified by:
## Created:     18/08/2007
## RCS-ID:      $Id: AnimationCtrl.xsp 2179 2007-08-18 20:26:47Z mbarbon $
## Copyright:   (c) 2007 Mattia Barbon
## Licence:     This program is free software; you can redistribute it and/or
##              modify it under the same terms as Perl itself
#############################################################################

%module{Wx};

#if WXPERL_W_VERSION_GE( 2, 7, 2 )

%typemap{wxAnimationCtrl*}{simple};

#include <wx/animate.h>

%name{Wx::AnimationCtrl} class wxAnimationCtrl
{
    %name{newDefault} wxAnimationCtrl()
        %code{% RETVAL = new wxAnimationCtrl();
                wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
                %};

    wxAnimationCtrl( wxWindow *parent,
                     wxWindowID id,
                     const wxAnimation& anim = wxNullAnimationPtr,
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize,
                     long style = wxAC_DEFAULT_STYLE,
                     const wxString& name = wxAnimationCtrlNameStr )
        %code{% RETVAL = new wxAnimationCtrl( parent, id, *anim, pos, size,
                                              style, name );
                wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
                %};

    bool Create( wxWindow *parent, wxWindowID id,
                 const wxAnimation& anim = wxNullAnimationPtr,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = wxAC_DEFAULT_STYLE,
                 const wxString& name = wxAnimationCtrlNameStr );

    bool LoadFile( const wxString& filename,
                   wxAnimationType type = wxANIMATION_TYPE_ANY );

    void SetAnimation( const wxAnimation &anim );
    wxAnimation& GetAnimation() const;

    bool Play();
    void Stop();

    bool IsPlaying() const;

    void SetInactiveBitmap( const wxBitmap &bmp );
    const wxBitmap& GetInactiveBitmap() const;
};

#endif
