git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			127 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/animate.h
 | |
| // Purpose:     wxAnimation and wxAnimationCtrl
 | |
| // Author:      Julian Smart and Guillermo Rodriguez Garcia
 | |
| // Modified by: Francesco Montorsi
 | |
| // Created:     13/8/99
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) Julian Smart and Guillermo Rodriguez Garcia
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_ANIMATE_H_
 | |
| #define _WX_ANIMATE_H_
 | |
| 
 | |
| #include "wx/defs.h"
 | |
| 
 | |
| #if wxUSE_ANIMATIONCTRL
 | |
| 
 | |
| #include "wx/animdecod.h"
 | |
| #include "wx/control.h"
 | |
| #include "wx/timer.h"
 | |
| #include "wx/bitmap.h"
 | |
| 
 | |
| class WXDLLIMPEXP_FWD_ADV wxAnimation;
 | |
| 
 | |
| extern WXDLLIMPEXP_DATA_ADV(wxAnimation) wxNullAnimation;
 | |
| extern WXDLLIMPEXP_DATA_ADV(const char) wxAnimationCtrlNameStr[];
 | |
| 
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // wxAnimationBase
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLIMPEXP_ADV wxAnimationBase : public wxObject
 | |
| {
 | |
| public:
 | |
|     wxAnimationBase() {}
 | |
| 
 | |
|     virtual bool IsOk() const = 0;
 | |
| 
 | |
|     // can be -1
 | |
|     virtual int GetDelay(unsigned int frame) const = 0;
 | |
| 
 | |
|     virtual unsigned int GetFrameCount() const = 0;
 | |
|     virtual wxImage GetFrame(unsigned int frame) const = 0;
 | |
|     virtual wxSize GetSize() const = 0;
 | |
| 
 | |
|     virtual bool LoadFile(const wxString& name,
 | |
|                           wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
 | |
|     virtual bool Load(wxInputStream& stream,
 | |
|                       wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
 | |
| 
 | |
| protected:
 | |
|     DECLARE_ABSTRACT_CLASS(wxAnimationBase)
 | |
| };
 | |
| 
 | |
| 
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // wxAnimationCtrlBase
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| // do not autoresize to the animation's size when SetAnimation() is called
 | |
| #define wxAC_NO_AUTORESIZE       (0x0010)
 | |
| 
 | |
| // default style does not include wxAC_NO_AUTORESIZE, that is, the control
 | |
| // auto-resizes by default to fit the new animation when SetAnimation() is called
 | |
| #define wxAC_DEFAULT_STYLE       (wxBORDER_NONE)
 | |
| 
 | |
| class WXDLLIMPEXP_ADV wxAnimationCtrlBase : public wxControl
 | |
| {
 | |
| public:
 | |
|     wxAnimationCtrlBase() { }
 | |
| 
 | |
|     // public API
 | |
|     virtual bool LoadFile(const wxString& filename,
 | |
|                           wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
 | |
|     virtual bool Load(wxInputStream& stream,
 | |
|                       wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
 | |
| 
 | |
|     virtual void SetAnimation(const wxAnimation &anim) = 0;
 | |
|     virtual wxAnimation GetAnimation() const = 0;
 | |
| 
 | |
|     virtual bool Play() = 0;
 | |
|     virtual void Stop() = 0;
 | |
| 
 | |
|     virtual bool IsPlaying() const = 0;
 | |
| 
 | |
|     virtual void SetInactiveBitmap(const wxBitmap &bmp);
 | |
| 
 | |
|     // always return the original bitmap set in this control
 | |
|     wxBitmap GetInactiveBitmap() const
 | |
|         { return m_bmpStatic; }
 | |
| 
 | |
| protected:
 | |
|     // the inactive bitmap as it was set by the user
 | |
|     wxBitmap m_bmpStatic;
 | |
| 
 | |
|     // the inactive bitmap currently shown in the control
 | |
|     // (may differ in the size from m_bmpStatic)
 | |
|     wxBitmap m_bmpStaticReal;
 | |
| 
 | |
|     // updates m_bmpStaticReal from m_bmpStatic if needed
 | |
|     virtual void UpdateStaticImage();
 | |
| 
 | |
|     // called by SetInactiveBitmap
 | |
|     virtual void DisplayStaticImage() = 0;
 | |
| 
 | |
| private:
 | |
|     DECLARE_ABSTRACT_CLASS(wxAnimationCtrlBase)
 | |
| };
 | |
| 
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // include the platform-specific version of the wxAnimationCtrl class
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| #if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
 | |
|     #include "wx/gtk/animate.h"
 | |
| #else
 | |
|     #include "wx/generic/animate.h"
 | |
| #endif
 | |
| 
 | |
| #endif // wxUSE_ANIMATIONCTRL
 | |
| 
 | |
| #endif // _WX_ANIMATE_H_
 |