ce00f59b5b
There are no real changes in this commit but it removes all trailing white space from our source files. This avoids problems when applying patches and making diffs and it would be nice to prevent it from reappearing. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
85 lines
2.1 KiB
C++
85 lines
2.1 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: sound.h
|
|
// Purpose: wxSound class (loads and plays short Windows .wav files).
|
|
// Optional on non-Windows platforms.
|
|
// Author: Ryan Norton, Stefan Csomor
|
|
// Modified by:
|
|
// Created: 1998-01-01
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Ryan Norton, Stefan Csomor
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_SOUND_H_
|
|
#define _WX_SOUND_H_
|
|
|
|
#if wxUSE_SOUND
|
|
|
|
#include "wx/object.h"
|
|
|
|
class WXDLLIMPEXP_FWD_ADV wxSoundTimer;
|
|
|
|
class WXDLLIMPEXP_ADV wxSoundData
|
|
{
|
|
public :
|
|
wxSoundData();
|
|
virtual ~wxSoundData();
|
|
|
|
virtual bool Play(unsigned int flags) = 0;
|
|
// stops the sound and deletes the optional timer
|
|
virtual void Stop();
|
|
// can be called by a timer for repeated tasks during playback
|
|
virtual void SoundTask();
|
|
// mark this to be deleted
|
|
virtual void MarkForDeletion();
|
|
virtual bool IsMarkedForDeletion() const { return m_markedForDeletion; }
|
|
|
|
// does the true work of stopping and cleaning up
|
|
virtual void DoStop() = 0;
|
|
protected :
|
|
void CreateAndStartTimer();
|
|
|
|
unsigned int m_flags;
|
|
wxSoundTimer* m_pTimer;
|
|
bool m_markedForDeletion;
|
|
} ;
|
|
|
|
class WXDLLIMPEXP_ADV wxSound : public wxSoundBase
|
|
{
|
|
public:
|
|
wxSound();
|
|
wxSound(const wxString& fileName, bool isResource = false);
|
|
wxSound(int size, const wxByte* data);
|
|
virtual ~wxSound();
|
|
|
|
// Create from resource or file
|
|
bool Create(const wxString& fileName, bool isResource = false);
|
|
// Create from data
|
|
bool Create(int size, const wxByte* data);
|
|
|
|
bool IsOk() const { return m_data != NULL; }
|
|
|
|
// Stop playing any sound
|
|
static void Stop();
|
|
|
|
// Returns true if a sound is being played
|
|
static bool IsPlaying();
|
|
|
|
// Notification when a sound has stopped
|
|
static void SoundStopped(const wxSoundData* data);
|
|
|
|
protected:
|
|
bool DoPlay(unsigned flags) const;
|
|
void Init();
|
|
|
|
private:
|
|
// data of this object
|
|
class wxSoundData *m_data;
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxSound);
|
|
};
|
|
|
|
#endif
|
|
#endif
|
|
// _WX_SOUND_H_
|