mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-12 09:48:37 +12:00
This commit is contained in:
parent
de070bf485
commit
a90b5cf37a
1998 changed files with 1034301 additions and 0 deletions
98
wxWidgets/include/wx/sound.h
Normal file
98
wxWidgets/include/wx/sound.h
Normal file
|
@ -0,0 +1,98 @@
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/sound.h
|
||||
// Purpose: wxSoundBase class
|
||||
// Author: Vaclav Slavik
|
||||
// Modified by:
|
||||
// Created: 2004/02/01
|
||||
// RCS-ID: $Id: sound.h 61872 2009-09-09 22:37:05Z VZ $
|
||||
// Copyright: (c) 2004, Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_SOUND_H_BASE_
|
||||
#define _WX_SOUND_H_BASE_
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_SOUND
|
||||
|
||||
#include "wx/object.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxSoundBase: common wxSound code and interface
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Flags for wxSound::Play
|
||||
|
||||
// NB: We can't use enum because there would be ambiguity between the
|
||||
// two Play() prototypes when called without explicit parameters
|
||||
// if WXWIN_COMPATIBILITY_2_4.
|
||||
// We can't use enum with some compilers either, because they
|
||||
// keep reporting nonexistent ambiguities between
|
||||
// Play(unsigned) and static Play(const wxString&, unsigned).
|
||||
#define wxSOUND_SYNC ((unsigned)0)
|
||||
#define wxSOUND_ASYNC ((unsigned)1)
|
||||
#define wxSOUND_LOOP ((unsigned)2)
|
||||
|
||||
// Base class for wxSound implementations
|
||||
class WXDLLIMPEXP_ADV wxSoundBase : public wxObject
|
||||
{
|
||||
public:
|
||||
// Play the sound:
|
||||
bool Play(unsigned flags = wxSOUND_ASYNC) const
|
||||
{
|
||||
wxASSERT_MSG( (flags & wxSOUND_LOOP) == 0 ||
|
||||
(flags & wxSOUND_ASYNC) != 0,
|
||||
wxT("sound can only be looped asynchronously") );
|
||||
return DoPlay(flags);
|
||||
}
|
||||
#if WXWIN_COMPATIBILITY_2_4
|
||||
wxDEPRECATED( bool Play(bool async, bool looped = false) const );
|
||||
#endif
|
||||
|
||||
// Plays sound from filename:
|
||||
static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
|
||||
|
||||
protected:
|
||||
virtual bool DoPlay(unsigned flags) const = 0;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxSound class implementation
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include "wx/msw/sound.h"
|
||||
#elif defined(__WXCOCOA__)
|
||||
#include "wx/cocoa/sound.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/sound.h"
|
||||
#elif defined(__WXPM__)
|
||||
#include "wx/os2/sound.h"
|
||||
#elif defined(__UNIX__)
|
||||
#include "wx/unix/sound.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxSoundBase methods
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
inline bool wxSoundBase::Play(const wxString& filename, unsigned flags)
|
||||
{
|
||||
wxSound snd(filename);
|
||||
return snd.IsOk() ? snd.Play(flags) : false;
|
||||
}
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_4
|
||||
inline bool wxSoundBase::Play(bool async, bool looped) const
|
||||
{
|
||||
unsigned flags = 0;
|
||||
if (async) flags |= wxSOUND_ASYNC;
|
||||
if (looped) flags |= wxSOUND_LOOP | wxSOUND_ASYNC;
|
||||
return DoPlay(flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // wxUSE_SOUND
|
||||
|
||||
#endif // _WX_SOUND_H_BASE_
|
Loading…
Add table
Add a link
Reference in a new issue