Additionally call UnShare() in it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.1 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_ANIMATEH__
 | 
						|
#define _WX_ANIMATEH__
 | 
						|
 | 
						|
#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_ADV wxAnimation;
 | 
						|
 | 
						|
extern WXDLLIMPEXP_DATA_ADV(wxAnimation) wxNullAnimation;
 | 
						|
extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxAnimationCtrlNameStr[];
 | 
						|
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// wxAnimationBase
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
class WXDLLIMPEXP_ADV wxAnimationBase : public wxGDIObject
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxAnimationBase() {}
 | 
						|
 | 
						|
    virtual bool IsOk() const = 0;
 | 
						|
 | 
						|
    // can be -1
 | 
						|
    virtual int GetDelay(size_t i) const = 0;
 | 
						|
 | 
						|
    virtual size_t GetFrameCount() const = 0;
 | 
						|
    virtual wxImage GetFrame(size_t i) 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       (wxNO_BORDER)
 | 
						|
 | 
						|
class WXDLLIMPEXP_ADV wxAnimationCtrlBase : public wxControl
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxAnimationCtrlBase() {}
 | 
						|
 | 
						|
public:     // public API
 | 
						|
 | 
						|
    virtual bool LoadFile(const wxString& filename, 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);
 | 
						|
    wxBitmap GetInactiveBitmap() const
 | 
						|
        { return m_bmpStatic; }
 | 
						|
 | 
						|
protected:
 | 
						|
    wxBitmap m_bmpStatic;
 | 
						|
 | 
						|
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_ANIMATEH__
 |