/////////////////////////////////////////////////////////////////////////////
-// Name: src/common/mediactrl.cpp
+// Name: src/common/mediactrlcmn.cpp
// Purpose: wxMediaCtrl common code
// Author: Ryan Norton <wxprojects@comcast.net>
// Modified by:
// TODO: Platform specific backend defaults?
//===========================================================================
-// Definitions
+// Declarations
//===========================================================================
//---------------------------------------------------------------------------
-// Pre-compiled header stuff
+// Includes
//---------------------------------------------------------------------------
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/hash.h"
+ #include "wx/log.h"
#endif
-//---------------------------------------------------------------------------
-// Includes
-//---------------------------------------------------------------------------
#include "wx/mediactrl.h"
//===========================================================================
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IMPLEMENT_CLASS(wxMediaCtrl, wxControl)
-DEFINE_EVENT_TYPE(wxEVT_MEDIA_STATECHANGED)
-DEFINE_EVENT_TYPE(wxEVT_MEDIA_PLAY)
-DEFINE_EVENT_TYPE(wxEVT_MEDIA_PAUSE)
+wxDEFINE_EVENT( wxEVT_MEDIA_STATECHANGED, wxMediaEvent );
+wxDEFINE_EVENT( wxEVT_MEDIA_PLAY, wxMediaEvent );
+wxDEFINE_EVENT( wxEVT_MEDIA_PAUSE, wxMediaEvent );
IMPLEMENT_CLASS(wxMediaBackend, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxMediaEvent, wxEvent)
-DEFINE_EVENT_TYPE(wxEVT_MEDIA_FINISHED)
-DEFINE_EVENT_TYPE(wxEVT_MEDIA_LOADED)
-DEFINE_EVENT_TYPE(wxEVT_MEDIA_STOP)
+wxDEFINE_EVENT( wxEVT_MEDIA_FINISHED, wxMediaEvent );
+wxDEFINE_EVENT( wxEVT_MEDIA_LOADED, wxMediaEvent );
+wxDEFINE_EVENT( wxEVT_MEDIA_STOP, wxMediaEvent );
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
{
if (!Load(fileName))
{
- delete m_imp;
- m_imp = NULL;
+ wxDELETE(m_imp);
return false;
}
}
while((classInfo = NextBackend(&it)) != NULL)
{
- wxLogMessage( classInfo->GetClassName() );
if(!DoCreate(classInfo, parent, id,
pos, size, style, validator, name))
continue;
if (!Load(location))
{
- delete m_imp;
- m_imp = NULL;
+ wxDELETE(m_imp);
return false;
}
*it != end; ++(*it) )
{
const wxClassInfo* classInfo = **it;
- if ( classInfo->IsKindOf(CLASSINFO(wxMediaBackend)) &&
- classInfo != CLASSINFO(wxMediaBackend) )
+ if ( classInfo->IsKindOf(wxCLASSINFO(wxMediaBackend)) &&
+ classInfo != wxCLASSINFO(wxMediaBackend) )
{
+ ++(*it);
return classInfo;
}
}
//---------------------------------------------------------------------------
// wxMediaCtrl::MacVisibilityChanged
//---------------------------------------------------------------------------
-#ifdef __WXMAC__
+#ifdef __WXOSX_CARBON__
void wxMediaCtrl::MacVisibilityChanged()
{
wxControl::MacVisibilityChanged();
{
wxMediaEvent theEvent(wxEVT_MEDIA_STOP, m_ctrl->GetId());
- return !m_ctrl->ProcessEvent(theEvent) || theEvent.IsAllowed();
+ return !m_ctrl->GetEventHandler()->ProcessEvent(theEvent) || theEvent.IsAllowed();
}
void wxMediaBackendCommonBase::QueueEvent(wxEventType evtType)
{
wxMediaEvent theEvent(evtType, m_ctrl->GetId());
- m_ctrl->AddPendingEvent(theEvent);
+ m_ctrl->GetEventHandler()->AddPendingEvent(theEvent);
}
void wxMediaBackendCommonBase::QueuePlayEvent()
//
#include "wx/html/forcelnk.h"
-#ifdef __WXMSW__ // MSW has huge backends so we do it seperately
+#ifdef __WXMSW__ // MSW has huge backends so we do it separately
FORCE_LINK(wxmediabackend_am)
FORCE_LINK(wxmediabackend_wmp10)
-#else
+#elif !defined(__WXOSX_COCOA__)
FORCE_LINK(basewxmediabackends)
#endif