refactoring in preparation for further changes: moved data in a private struct, let Windows load resources instead of doing it ourselves, use GlobalPtr[Lock] classes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-07-29 13:19:32 +00:00
parent 247ec3f4cc
commit ddc5c471d4
2 changed files with 167 additions and 115 deletions

View File

@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
// Name: sound.h
// Name: wx/msw/sound.h
// Purpose: wxSound class
// Author: Julian Smart
// Modified by:
@@ -18,38 +18,39 @@
#if wxUSE_SOUND
#include "wx/object.h"
class WXDLLIMPEXP_ADV wxSound : public wxSoundBase
{
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = false);
wxSound(int size, const wxByte* data);
~wxSound();
wxSound();
wxSound(const wxString& fileName, bool isResource = false);
wxSound(int size, const wxByte* data);
virtual ~wxSound();
public:
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = false);
// Create from data
bool Create(int size, const wxByte* data);
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = false);
bool IsOk() const { return (m_waveData ? true : false); };
// Create from data
bool Create(int size, const wxByte* data);
static void Stop();
bool IsOk() const { return m_data != NULL; }
static void Stop();
protected:
bool Free();
void Init() { m_data = NULL; }
bool CheckCreatedOk();
void Free();
bool DoPlay(unsigned flags) const;
virtual bool DoPlay(unsigned flags) const;
private:
wxByte* m_waveData;
int m_waveLength;
bool m_isResource;
// data of this object
class wxSoundData *m_data;
DECLARE_NO_COPY_CLASS(wxSound)
};
#endif
#endif
#endif // wxUSE_SOUND
#endif // _WX_SOUND_H_