GNU compiler included with Mac OS X 10.2 (Jaguar) as well as August Developer Tools update contain a bug concerning #pragma interface handling that can only be worked around by not using them (and they are not necessary anyways) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        mmbman.h
 | |
| // Purpose:     Multimedia Board manager
 | |
| // Author:      Guilhem Lavaux, <guilhem.lavaux@libertysurf.fr>
 | |
| // Modified by:
 | |
| // Created:     13/02/2000
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) 2000, Guilhem Lavaux
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _MMBMAN_APP_H_
 | |
| #define _MMBMAN_APP_H_
 | |
| 
 | |
| #if defined(__GNUG__) && !defined(__APPLE__)
 | |
|   #pragma interface "mmbman.cpp"
 | |
| #endif
 | |
| 
 | |
| #include "wx/stream.h"
 | |
| #include "wx/mmedia/sndbase.h"
 | |
| 
 | |
| // -------------------------------------------------------------------------
 | |
| // Base structure definitions
 | |
| // -------------------------------------------------------------------------
 | |
| 
 | |
| typedef struct {
 | |
|   wxUint8 seconds, minutes, hours;
 | |
| } MMBoardTime;
 | |
| 
 | |
| // -------------------------------------------------------------------------
 | |
| // Constants
 | |
| // -------------------------------------------------------------------------
 | |
| 
 | |
| #define MMBoard_NoError 0
 | |
| #define MMBoard_UnknownFile 1
 | |
| 
 | |
| // -------------------------------------------------------------------------
 | |
| // Interface definition: MMBoardFile
 | |
| // -------------------------------------------------------------------------
 | |
| 
 | |
| class MMBoardFile {
 | |
|  public:
 | |
|   MMBoardFile();
 | |
|   virtual ~MMBoardFile();
 | |
| 
 | |
|   virtual bool NeedWindow() = 0;
 | |
| 
 | |
|   virtual void SetWindow(wxWindow *window) = 0;
 | |
|   
 | |
|   virtual void Play() = 0;
 | |
|   virtual void Pause() = 0;
 | |
|   virtual void Resume() = 0;
 | |
|   virtual void Stop() = 0;
 | |
| 
 | |
|   virtual MMBoardTime GetPosition() = 0;
 | |
|   virtual MMBoardTime GetLength() = 0;
 | |
|   virtual void SetPosition(MMBoardTime btime) = 0;
 | |
|   
 | |
|   virtual bool IsStopped() = 0;
 | |
|   virtual bool IsPaused() = 0;
 | |
| 
 | |
|   virtual wxString GetStringType() = 0;
 | |
|   virtual wxString GetStringInformation() = 0;
 | |
| 
 | |
|   void SetError(wxUint8 error) { m_error = error; }
 | |
|   wxUint8 GetError() const { return m_error; }
 | |
| 
 | |
|  protected:
 | |
|   wxUint8 m_error;
 | |
| };
 | |
| 
 | |
| // -------------------------------------------------------------------------
 | |
| // Main manager
 | |
| // -------------------------------------------------------------------------
 | |
| 
 | |
| class MMBoardManager {
 | |
|  public:
 | |
|   static MMBoardFile *Open(const wxString& filename);
 | |
| 
 | |
|   static wxSoundStream *OpenSoundStream();
 | |
|   static void UnrefSoundStream(wxSoundStream *stream);
 | |
| };
 | |
| 
 | |
| #endif
 |