X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/412e0d47c05d69cb029e9dbd11b31ce24fb2377e..d23ec02c6ab52f60349601be999bab4cf6acbdc4:/src/common/mediactrlcmn.cpp?ds=inline diff --git a/src/common/mediactrlcmn.cpp b/src/common/mediactrlcmn.cpp index 618eccabf9..8128dfddd3 100644 --- a/src/common/mediactrlcmn.cpp +++ b/src/common/mediactrlcmn.cpp @@ -9,6 +9,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +// TODO: Platform specific backend defaults? + //=========================================================================== // Definitions //=========================================================================== @@ -45,6 +47,9 @@ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IMPLEMENT_CLASS(wxMediaCtrl, wxControl) +DEFINE_EVENT_TYPE(wxEVT_MEDIA_STATECHANGED) +DEFINE_EVENT_TYPE(wxEVT_MEDIA_PLAY) +DEFINE_EVENT_TYPE(wxEVT_MEDIA_PAUSE) IMPLEMENT_CLASS(wxMediaBackend, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxMediaEvent, wxEvent) DEFINE_EVENT_TYPE(wxEVT_MEDIA_FINISHED) @@ -228,7 +233,7 @@ bool wxMediaCtrl::DoCreate(wxClassInfo* classInfo, } //--------------------------------------------------------------------------- -// wxMediaCtrl::NextBackend +// wxMediaCtrl::NextBackend (static) // // // Search through the RTTI hashmap one at a @@ -239,8 +244,7 @@ bool wxMediaCtrl::DoCreate(wxClassInfo* classInfo, // STL isn't compatible with and will have a compilation error // on a wxNode, however, wxHashTable::compatibility_iterator is // incompatible with the old 2.4 stable version - but since -// we're in 2.5 only we don't need to worry about this -// static +// we're in 2.5+ only we don't need to worry about the new version //--------------------------------------------------------------------------- wxClassInfo* wxMediaCtrl::NextBackend() { @@ -507,9 +511,37 @@ void wxMediaBackendCommonBase::QueueEvent(wxEventType evtType) m_ctrl->AddPendingEvent(theEvent); } +void wxMediaBackendCommonBase::QueuePlayEvent() +{ + QueueEvent(wxEVT_MEDIA_STATECHANGED); + QueueEvent(wxEVT_MEDIA_PLAY); +} + +void wxMediaBackendCommonBase::QueuePauseEvent() +{ + QueueEvent(wxEVT_MEDIA_STATECHANGED); + QueueEvent(wxEVT_MEDIA_PAUSE); +} + +void wxMediaBackendCommonBase::QueueStopEvent() +{ + QueueEvent(wxEVT_MEDIA_STATECHANGED); + QueueEvent(wxEVT_MEDIA_STOP); +} + + +// +// Force link default backends in - +// see http://wiki.wxwidgets.org/wiki.pl?RTTI +// #include "wx/html/forcelnk.h" -FORCE_LINK(basewxmediabackends) +#ifdef __WXMSW__ // MSW has huge backends so we do it seperately +FORCE_LINK(wxmediabackend_am) +FORCE_LINK(wxmediabackend_wmp10) +#else +FORCE_LINK(basewxmediabackends) +#endif //--------------------------------------------------------------------------- // End of compilation guard and of file //---------------------------------------------------------------------------