]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/sound.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / msw / sound.h
index 2e7e5ff48e24db71711d54e6d3273bea0e312428..5be1eefc8fc29223708789143460935af5987995 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        sound.h
+// Name:        wx/msw/sound.h
 // Purpose:     wxSound class
 // Author:      Julian Smart
 // Modified by:
 #ifndef _WX_SOUND_H_
 #define _WX_SOUND_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "sound.h"
-#endif
-
 #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(size_t size, const void* 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(size_t size, const void* 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)
+    wxDECLARE_NO_COPY_CLASS(wxSound);
 };
-#endif
-#endif
+
+#endif // wxUSE_SOUND
+
+#endif // _WX_SOUND_H_