]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/wave.h
disable use of #pragma interface under Mac OS X
[wxWidgets.git] / include / wx / mac / wave.h
index e55bd5aa5f4a220c725c37df5ca76fd28a309e12..c203db629f69dcd7b9df10b07b3ac3debda64237 100644 (file)
 #ifndef _WX_WAVE_H_
 #define _WX_WAVE_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "wave.h"
 #endif
 
 #include "wx/object.h"
 
-class wxWave : public wxObject
+class WXDLLEXPORT wxWave : public wxObject
 {
 public:
   wxWave();
   wxWave(const wxString& fileName, bool isResource = FALSE);
+  wxWave(int size, const wxByte* data);
   ~wxWave();
 
 public:
   bool  Create(const wxString& fileName, bool isResource = FALSE);
-  bool  IsOk() const { return (m_waveData ? TRUE : FALSE); };
+  bool  IsOk() const { return !m_sndname.IsEmpty(); }
   bool  Play(bool async = TRUE, bool looped = FALSE) const;
 
 protected:
-  bool  Free();
+  // prevent collision with some BSD definitions of macro Free()
+  bool  FreeData();
 
 private:
-  char* m_waveData;
+  void* m_sndChan;
+       
+  wxString m_sndname;
+  void* m_hSnd;
   int   m_waveLength;
   bool  m_isResource;
 };