/////////////////////////////////////////////////////////////////////////////
-// Name: common/mediactrl.cpp
+// Name: src/common/mediactrl.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"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
-//---------------------------------------------------------------------------
-// Includes
-//---------------------------------------------------------------------------
-#include "wx/mediactrl.h"
-#include "wx/hash.h"
-
-//---------------------------------------------------------------------------
-// Compilation guard
-//---------------------------------------------------------------------------
#if wxUSE_MEDIACTRL
+#ifndef WX_PRECOMP
+ #include "wx/hash.h"
+ #include "wx/log.h"
+#endif
+
+#include "wx/mediactrl.h"
+
//===========================================================================
//
// Implementation
}
}
- SetBestFittingSize(size);
+ SetInitialSize(size);
return true;
}
else
{
- wxClassInfo::sm_classTable->BeginFind();
+ wxClassInfo::const_iterator it = wxClassInfo::begin_classinfo();
- wxClassInfo* classInfo;
+ const wxClassInfo* classInfo;
- while((classInfo = NextBackend()) != NULL)
+ while((classInfo = NextBackend(&it)) != NULL)
{
+ wxLogMessage( classInfo->GetClassName() );
if(!DoCreate(classInfo, parent, id,
pos, size, style, validator, name))
continue;
{
if (Load(fileName))
{
- SetBestFittingSize(size);
+ SetInitialSize(size);
return true;
}
else
}
else
{
- SetBestFittingSize(size);
+ SetInitialSize(size);
return true;
}
}
return false;
}
- SetBestFittingSize(size);
+ SetInitialSize(size);
return true;
}
else
{
- wxClassInfo::sm_classTable->BeginFind();
+ wxClassInfo::const_iterator it = wxClassInfo::begin_classinfo();
- wxClassInfo* classInfo;
+ const wxClassInfo* classInfo;
- while((classInfo = NextBackend()) != NULL)
+ while((classInfo = NextBackend(&it)) != NULL)
{
if(!DoCreate(classInfo, parent, id,
pos, size, style, validator, name))
if (Load(location))
{
- SetBestFittingSize(size);
+ SetInitialSize(size);
return true;
}
else
//
// Attempts to create the control from a backend
//---------------------------------------------------------------------------
-bool wxMediaCtrl::DoCreate(wxClassInfo* classInfo,
+bool wxMediaCtrl::DoCreate(const wxClassInfo* classInfo,
wxWindow* parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
// incompatible with the old 2.4 stable version - but since
// we're in 2.5+ only we don't need to worry about the new version
//---------------------------------------------------------------------------
-wxClassInfo* wxMediaCtrl::NextBackend()
+const wxClassInfo* wxMediaCtrl::NextBackend(wxClassInfo::const_iterator* it)
{
- wxHashTable::compatibility_iterator
- node = wxClassInfo::sm_classTable->Next();
- while (node)
+ for ( wxClassInfo::const_iterator end = wxClassInfo::end_classinfo();
+ *it != end; ++(*it) )
{
- wxClassInfo* classInfo = (wxClassInfo *)node->GetData();
+ const wxClassInfo* classInfo = **it;
if ( classInfo->IsKindOf(CLASSINFO(wxMediaBackend)) &&
classInfo != CLASSINFO(wxMediaBackend) )
{
+ ++(*it);
return classInfo;
}
- node = wxClassInfo::sm_classTable->Next();
}
//
return wxSize(0,0);
}
-double wxMediaCtrl::GetVolume()
+double wxMediaCtrl::GetVolume()
{
if(m_imp && m_bLoaded)
return m_imp->GetVolume();
return 0.0;
}
-bool wxMediaCtrl::SetVolume(double dVolume)
+bool wxMediaCtrl::SetVolume(double dVolume)
{
if(m_imp && m_bLoaded)
return m_imp->SetVolume(dVolume);
return false;
}
-bool wxMediaCtrl::ShowPlayerControls(wxMediaCtrlPlayerControls flags)
+bool wxMediaCtrl::ShowPlayerControls(wxMediaCtrlPlayerControls flags)
{
if(m_imp)
return m_imp->ShowPlayerControls(flags);
m_imp->Move(x, y, w, h);
}
+//---------------------------------------------------------------------------
+// wxMediaCtrl::MacVisibilityChanged
+//---------------------------------------------------------------------------
+#ifdef __WXMAC__
+void wxMediaCtrl::MacVisibilityChanged()
+{
+ wxControl::MacVisibilityChanged();
+
+ if(m_imp)
+ m_imp->MacVisibilityChanged();
+}
+#endif
+
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// wxMediaBackendCommonBase
#else
FORCE_LINK(basewxmediabackends)
#endif
-//---------------------------------------------------------------------------
-// End of compilation guard and of file
-//---------------------------------------------------------------------------
-#endif //wxUSE_MEDIACTRL
-
+#endif //wxUSE_MEDIACTRL