X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bc036010973de6b66905a58bfa79b21f3b98cfa2..f60b1d829dd8a6d5e47a2adcd3690acb3bd10150:/include/wx/mediactrl.h diff --git a/include/wx/mediactrl.h b/include/wx/mediactrl.h index 44eaa37c1c..9646aeed81 100644 --- a/include/wx/mediactrl.h +++ b/include/wx/mediactrl.h @@ -26,9 +26,12 @@ #pragma interface "mediactrl.h" #endif +#include "wx/defs.h" + // ---------------------------------------------------------------------------- // Compilation guard // ---------------------------------------------------------------------------- + #if wxUSE_MEDIACTRL // ---------------------------------------------------------------------------- @@ -179,14 +182,17 @@ public: wxFileOffset Length(); //FIXME: This should be const // - // Unofficial parts of API + // Unofficial parts of API // //DirectShow/GStreamer only. Quicktime too, but somewhat buggy... - bool Load(const wxURI& location); + bool Load(const wxURI& location); double GetPlaybackRate(); //All but MCI & GStreamer bool SetPlaybackRate(double dRate); //All but MCI & GStreamer + double GetVolume(); //DirectShow only + bool SetVolume(double dVolume); //DirectShow only + protected: static wxClassInfo* NextBackend(); @@ -257,7 +263,7 @@ public: int WXUNUSED(w), int WXUNUSED(h)) { } virtual wxSize GetVideoSize() const - { return wxSize(); } + { return wxSize(0,0); } virtual double GetPlaybackRate() { return 0.0; } @@ -267,6 +273,19 @@ public: virtual wxMediaState GetState() { return wxMEDIASTATE_STOPPED; } + virtual double GetVolume() + { return 0.0; } + virtual bool SetVolume(double WXUNUSED(dVolume)) + { return false; } + + virtual void RESERVED3() {} + virtual void RESERVED4() {} + virtual void RESERVED5() {} + virtual void RESERVED6() {} + virtual void RESERVED7() {} + virtual void RESERVED8() {} + virtual void RESERVED9() {} + DECLARE_DYNAMIC_CLASS(wxMediaBackend) }; @@ -281,9 +300,12 @@ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_MEDIA, wxEVT_MEDIA_STOP, wxMEDIA_STO //Function type(s) our events need typedef void (wxEvtHandler::*wxMediaEventFunction)(wxMediaEvent&); +#define wxMediaEventHandler(func) \ + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxMediaEventFunction, &func) + //Macro for usage with message maps -#define EVT_MEDIA_FINISHED(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_MEDIA_FINISHED, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxMediaEventFunction) & fn, (wxObject *) NULL ), -#define EVT_MEDIA_STOP(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_MEDIA_STOP, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxMediaEventFunction) & fn, (wxObject *) NULL ), +#define EVT_MEDIA_FINISHED(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_MEDIA_FINISHED, winid, wxID_ANY, wxMediaEventHandler(fn), (wxObject *) NULL ), +#define EVT_MEDIA_STOP(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_MEDIA_STOP, winid, wxID_ANY, wxMediaEventHandler(fn), (wxObject *) NULL ), // ---------------------------------------------------------------------------- // End compilation gaurd