]> git.sesse.net Git - vlc/blobdiff - projects/activex/axvlc.idl
activex: implement JS Events
[vlc] / projects / activex / axvlc.idl
index a1846f0ca485df1415fb8844ce8748b3851a633c..78defb74f9b09b6ff831cd20dfa25a7b8f0ff6b6 100644 (file)
@@ -168,6 +168,28 @@ library AXVLC
     const int DISPID_PauseEvent = 101;\r
     const int DISPID_StopEvent  = 102;\r
 \r
+    /* async events from libvlc */\r
+    const int DISPID_NothingSpecialEvent = 200;\r
+    const int DISPID_OpeningEvent = 201;\r
+    const int DISPID_BufferingEvent = 202;\r
+    const int DISPID_PlayingEvent = 203;\r
+    const int DISPID_PausedEvent = 204;\r
+    const int DISPID_ForwardEvent = 205;\r
+    const int DISPID_BackwardEvent = 206;\r
+    const int DISPID_EncounteredErrorEvent = 207;\r
+    const int DISPID_EndReachedEvent = 208;\r
+    const int DISPID_StoppedEvent = 209;\r
+\r
+    const int DISPID_TimeChangedEvent = 210;\r
+    const int DISPID_PositionChangedEvent = 211;\r
+    const int DISPID_SeekableChangedEvent = 212;\r
+    const int DISPID_PausableChangedEvent = 213;\r
+\r
+    const int DISPID_MouseButtonEvent = 214;\r
+    const int DISPID_MouseMovedEvent = 215;\r
+    const int DISPID_MouseClickedEvent = 216;\r
+    const int DISPID_MouseObjectEvent = 217;\r
+\r
     [\r
       uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),\r
       helpstring("Event interface for VLC control"),\r
@@ -182,6 +204,48 @@ library AXVLC
             void pause();\r
             [id(DISPID_StopEvent), helpstring("Stopped")]\r
             void stop();\r
+\r
+            /* asyn events from libvlc */\r
+            [id(DISPID_NothingSpecialEvent), helpstring("Idle state")]\r
+            void idle();\r
+            [id(DISPID_OpeningEvent), helpstring("Opening media")]\r
+            void opening();\r
+            [id(DISPID_BufferingEvent), helpstring("Buffering media")]\r
+            void buffering();\r
+            [id(DISPID_PlayingEvent), helpstring("Media is playing")]\r
+            void playing();\r
+            [id(DISPID_PausedEvent), helpstring("Media is paused")]\r
+            void paused();\r
+            [id(DISPID_ForwardEvent), helpstring("Forward playback")]\r
+            void forward();\r
+            [id(DISPID_BackwardEvent), helpstring("Backward playback")]\r
+            void backward();\r
+            [id(DISPID_EncounteredErrorEvent), helpstring("An error has been encountered")]\r
+            void error();\r
+            [id(DISPID_EndReachedEvent), helpstring("End of playback reached")]\r
+            void ended();\r
+            [id(DISPID_StoppedEvent), helpstring("Playback stopped")]\r
+            void stopped();\r
+\r
+            [id(DISPID_TimeChangedEvent), helpstring("Time changed")]\r
+            void TimeChanged([in] long time);\r
+            [id(DISPID_PositionChangedEvent), helpstring("Position changed")]\r
+            void PositionChanged([in] long position);\r
+            [id(DISPID_SeekableChangedEvent), helpstring("Seek changed")]\r
+            void SeekableChanged([in] VARIANT_BOOL seekable);\r
+            [id(DISPID_PausableChangedEvent), helpstring("Pause setting changed")]\r
+            void PausableChanged([in] VARIANT_BOOL pausable);\r
+\r
+            [id(DISPID_MouseButtonEvent), helpstring("Mouse button pressed")]\r
+            void MouseButton([in] VARIANT_BOOL btn_right, [in] VARIANT_BOOL btn_center,\r
+                [in] VARIANT_BOOL btn_left, [in] VARIANT_BOOL btn_wheel_up,\r
+                [in] VARIANT_BOOL bnt_wheel_down);\r
+            [id(DISPID_MouseMovedEvent), helpstring("Mouse moved")]\r
+            void MouseMoved([in] long x, [in] long y);\r
+            [id(DISPID_MouseClickedEvent), helpstring("Mouse clicked")]\r
+            void MouseClicked([in] VARIANT_BOOL clicked);\r
+            [id(DISPID_MouseObjectEvent), helpstring("Mouse selected holds object")]\r
+            void MouseObject([in] VARIANT_BOOL moved);\r
     };\r
 \r
     [\r
@@ -619,5 +683,6 @@ library AXVLC
     {\r
         [default] interface IVLCControl2;\r
         interface IVLCControl;\r
+        [default, source] dispinterface DVLCEvents;\r
     };\r
 };\r