]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mediactrl.h
ssize_t is always defined in OSX
[wxWidgets.git] / include / wx / mediactrl.h
index d9c9442a96ddc7173fa858270682eee0c43d891d..44eaa37c1cdbe456e4df08fc119d37fffb82d7a3 100644 (file)
@@ -58,6 +58,7 @@ enum wxMediaState
 #define wxMEDIABACKEND_DIRECTSHOW   wxT("wxAMMediaBackend")
 #define wxMEDIABACKEND_MCI          wxT("wxMCIMediaBackend")
 #define wxMEDIABACKEND_QUICKTIME    wxT("wxQTMediaBackend")
+#define wxMEDIABACKEND_GSTREAMER    wxT("wxGStreamerMediaBackend")
 
 // ----------------------------------------------------------------------------
 //
@@ -73,8 +74,8 @@ public:
     //
     // Normal constructor, much the same as wxNotifyEvent
     // ------------------------------------------------------------------------
-    wxMediaEvent(wxEventType commandType = wxEVT_NULL, int id = 0)
-        : wxNotifyEvent(commandType, id)
+    wxMediaEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
+        : wxNotifyEvent(commandType, winid)
     {                                       }
 
     // ------------------------------------------------------------------------
@@ -109,55 +110,55 @@ public:
 class WXDLLIMPEXP_MEDIA wxMediaCtrl : public wxControl
 {
 public:
-    wxMediaCtrl() : m_imp(NULL), m_bLoaded(false), m_bLoop(false)
+    wxMediaCtrl() : m_imp(NULL), m_bLoaded(false)
     {                                                                   }
 
-    wxMediaCtrl(wxWindow* parent, wxWindowID id,
-                const wxString& fileName = wxT(""),
+    wxMediaCtrl(wxWindow* parent, wxWindowID winid,
+                const wxString& fileName = wxEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
-                const wxString& szBackend = wxT(""),
+                const wxString& szBackend = wxEmptyString,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxT("mediaCtrl"))
-                : m_imp(NULL), m_bLoaded(false), m_bLoop(false)
-    {   Create(parent, id, fileName, pos, size, style,
+                : m_imp(NULL), m_bLoaded(false)
+    {   Create(parent, winid, fileName, pos, size, style,
                szBackend, validator, name);                             }
 
-    wxMediaCtrl(wxWindow* parent, wxWindowID id,
+    wxMediaCtrl(wxWindow* parent, wxWindowID winid,
                 const wxURI& location,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
-                const wxString& szBackend = wxT(""),
+                const wxString& szBackend = wxEmptyString,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxT("mediaCtrl"))
-                : m_imp(NULL), m_bLoop(false)
-    {   Create(parent, id, location, pos, size, style,
+                : m_imp(NULL), m_bLoaded(false)
+    {   Create(parent, winid, location, pos, size, style,
                szBackend, validator, name);                             }
 
     ~wxMediaCtrl();
 
-    bool Create(wxWindow* parent, wxWindowID id,
-                const wxString& fileName = wxT(""),
+    bool Create(wxWindow* parent, wxWindowID winid,
+                const wxString& fileName = wxEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
-                const wxString& szBackend = wxT(""),
+                const wxString& szBackend = wxEmptyString,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxT("mediaCtrl"));
 
-    bool Create(wxWindow* parent, wxWindowID id,
+    bool Create(wxWindow* parent, wxWindowID winid,
                 const wxURI& location,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
-                const wxString& szBackend = wxT(""),
+                const wxString& szBackend = wxEmptyString,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxT("mediaCtrl")); //DirectShow only
 
     bool DoCreate(wxClassInfo* instance,
-                wxWindow* parent, wxWindowID id,
+                wxWindow* parent, wxWindowID winid,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
@@ -169,20 +170,23 @@ public:
     bool Stop();
 
     bool Load(const wxString& fileName);
-    bool Load(const wxURI& location); //DirectShow only
 
-    void Loop(bool bLoop = true);
-    bool IsLooped();
 
     wxMediaState GetState();
 
-    double GetPlaybackRate();           //All but MCI
-    bool SetPlaybackRate(double dRate); //All but MCI
-
     wxFileOffset Seek(wxFileOffset where, wxSeekMode mode = wxFromStart);
     wxFileOffset Tell(); //FIXME: This should be const
     wxFileOffset Length(); //FIXME: This should be const
 
+    //
+    // Unofficial parts of API 
+    //
+    //DirectShow/GStreamer only.  Quicktime too, but somewhat buggy...
+    bool Load(const wxURI& location);  
+
+    double GetPlaybackRate();           //All but MCI & GStreamer
+    bool SetPlaybackRate(double dRate); //All but MCI & GStreamer
+
 protected:
     static wxClassInfo* NextBackend();
 
@@ -190,14 +194,18 @@ protected:
     virtual void DoMoveWindow(int x, int y, int w, int h);
     wxSize DoGetBestSize() const;
 
+    //FIXME:  This is nasty... find a better way to work around
+    //inheritance issues
 #ifdef __WXMAC__
-    friend class wxMediaBackend;
+    friend class wxQTMediaBackend;
+#endif
+#ifdef __WXCOCOA__
+    friend class wxQTMediaBackend;
 #endif
     class wxMediaBackend* m_imp;
     bool m_bLoaded;
-    bool m_bLoop;
 
-    DECLARE_DYNAMIC_CLASS(wxMediaCtrl);
+    DECLARE_DYNAMIC_CLASS(wxMediaCtrl)
 };
 
 // ----------------------------------------------------------------------------
@@ -218,7 +226,7 @@ public:
 
     virtual bool CreateControl(wxControl* WXUNUSED(ctrl),
                                wxWindow* WXUNUSED(parent),
-                               wxWindowID WXUNUSED(id),
+                               wxWindowID WXUNUSED(winid),
                                const wxPoint& WXUNUSED(pos),
                                const wxSize& WXUNUSED(size),
                                long WXUNUSED(style),
@@ -249,7 +257,7 @@ public:
                       int WXUNUSED(w), int WXUNUSED(h))
     {                                   }
     virtual wxSize GetVideoSize() const
-    {   return wxSize(0,0);             }
+    {   return wxSize();                }
 
     virtual double GetPlaybackRate()
     {   return 0.0;                     }
@@ -259,12 +267,7 @@ public:
     virtual wxMediaState GetState()
     {   return wxMEDIASTATE_STOPPED;    }
 
-#ifdef __WXMAC__
-    wxMacControl* GetControlPeer(wxControl* ctrl) 
-    {  return ((wxMediaCtrl*)ctrl)->m_peer;    }
-#endif
-
-    DECLARE_CLASS(wxMediaBackend)
+    DECLARE_DYNAMIC_CLASS(wxMediaBackend)
 };
 
 //Event ID to give to our events