]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mediactrl.h
wxEncodingConverter should and can be compiled
[wxWidgets.git] / include / wx / mediactrl.h
index 54b0573eacb4396378540a5652cfd37d6d8dc518..7ee066d29f3e2e2905ef9fa0f6614b382e1f24f9 100644 (file)
@@ -55,11 +55,6 @@ enum wxMediaState
     wxMEDIASTATE_PLAYING
 };
 
-enum wxMediaTimeFormat
-{
-    wxMEDIATIMEFORMAT_TIME
-};
-
 #define wxMEDIABACKEND_DIRECTSHOW   wxT("wxAMMediaBackend")
 #define wxMEDIABACKEND_MCI          wxT("wxMCIMediaBackend")
 #define wxMEDIABACKEND_QUICKTIME    wxT("wxQTMediaBackend")
@@ -70,7 +65,7 @@ enum wxMediaTimeFormat
 //
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxMediaEvent : public wxNotifyEvent
+class WXDLLIMPEXP_MEDIA wxMediaEvent : public wxNotifyEvent
 {
 public:
     // ------------------------------------------------------------------------
@@ -111,7 +106,7 @@ public:
 //
 // ----------------------------------------------------------------------------
 
-class wxMediaCtrl : public wxControl
+class WXDLLIMPEXP_MEDIA wxMediaCtrl : public wxControl
 {
 public:
     wxMediaCtrl() : m_imp(NULL), m_bLoaded(false), m_bLoop(false)
@@ -159,7 +154,7 @@ public:
                 long style = 0,
                 const wxString& szBackend = wxT(""),
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = wxT("mediaCtrl"));
+                const wxString& name = wxT("mediaCtrl")); //DirectShow only
 
     bool DoCreate(wxClassInfo* instance,
                 wxWindow* parent, wxWindowID id,
@@ -169,29 +164,28 @@ public:
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxT("mediaCtrl"));
 
-    static wxClassInfo* NextBackend();
-
-
     bool Play();
     bool Pause();
     bool Stop();
 
     bool Load(const wxString& fileName);
-    bool Load(const wxURI& location);
+    bool Load(const wxURI& location); //DirectShow only
 
     void Loop(bool bLoop = true);
     bool IsLooped();
 
     wxMediaState GetState();
 
-    double GetPlaybackRate();
-    bool SetPlaybackRate(double dRate);
+    double GetPlaybackRate();           //All but MCI
+    bool SetPlaybackRate(double dRate); //All but MCI
 
-    bool SetPosition(wxLongLong where);
-    wxLongLong GetPosition();
-    wxLongLong GetDuration();
+    wxFileOffset Seek(wxFileOffset where, wxSeekMode mode = wxFromStart);
+    wxFileOffset Tell(); //FIXME: This should be const
+    wxFileOffset Length(); //FIXME: This should be const
 
 protected:
+    static wxClassInfo* NextBackend();
+
     void OnMediaFinished(wxMediaEvent& evt);
     virtual void DoMoveWindow(int x, int y, int w, int h);
     wxSize DoGetBestSize() const;
@@ -207,11 +201,11 @@ protected:
 //
 // wxMediaBackend
 //
-// Currently an internal class - API stability not gauranteed.
+// Currently an internal class - API stability not guaranteed.
 //
 // ----------------------------------------------------------------------------
 
-class wxMediaBackend : public wxObject
+class WXDLLIMPEXP_MEDIA wxMediaBackend : public wxObject
 {
 public:
     wxMediaBackend()
@@ -270,8 +264,8 @@ public:
 #define wxMEDIA_STOP_ID    13001
 
 //Define our event types - we need to call DEFINE_EVENT_TYPE(EVT) later
-DECLARE_EVENT_TYPE(wxEVT_MEDIA_FINISHED, wxMEDIA_FINISHED_ID)
-DECLARE_EVENT_TYPE(wxEVT_MEDIA_STOP, wxMEDIA_STOP_ID)
+DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_MEDIA, wxEVT_MEDIA_FINISHED, wxMEDIA_FINISHED_ID)
+DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_MEDIA, wxEVT_MEDIA_STOP,     wxMEDIA_STOP_ID)
 
 //Function type(s) our events need
 typedef void (wxEvtHandler::*wxMediaEventFunction)(wxMediaEvent&);