Commit 9922b46c authored by Jean-Paul Saman's avatar Jean-Paul Saman

activex: implement JS Events

parent 488909d8
...@@ -168,6 +168,28 @@ library AXVLC ...@@ -168,6 +168,28 @@ library AXVLC
const int DISPID_PauseEvent = 101; const int DISPID_PauseEvent = 101;
const int DISPID_StopEvent = 102; const int DISPID_StopEvent = 102;
/* async events from libvlc */
const int DISPID_NothingSpecialEvent = 200;
const int DISPID_OpeningEvent = 201;
const int DISPID_BufferingEvent = 202;
const int DISPID_PlayingEvent = 203;
const int DISPID_PausedEvent = 204;
const int DISPID_ForwardEvent = 205;
const int DISPID_BackwardEvent = 206;
const int DISPID_EncounteredErrorEvent = 207;
const int DISPID_EndReachedEvent = 208;
const int DISPID_StoppedEvent = 209;
const int DISPID_TimeChangedEvent = 210;
const int DISPID_PositionChangedEvent = 211;
const int DISPID_SeekableChangedEvent = 212;
const int DISPID_PausableChangedEvent = 213;
const int DISPID_MouseButtonEvent = 214;
const int DISPID_MouseMovedEvent = 215;
const int DISPID_MouseClickedEvent = 216;
const int DISPID_MouseObjectEvent = 217;
[ [
uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F), uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),
helpstring("Event interface for VLC control"), helpstring("Event interface for VLC control"),
...@@ -182,6 +204,48 @@ library AXVLC ...@@ -182,6 +204,48 @@ library AXVLC
void pause(); void pause();
[id(DISPID_StopEvent), helpstring("Stopped")] [id(DISPID_StopEvent), helpstring("Stopped")]
void stop(); void stop();
/* asyn events from libvlc */
[id(DISPID_NothingSpecialEvent), helpstring("Idle state")]
void idle();
[id(DISPID_OpeningEvent), helpstring("Opening media")]
void opening();
[id(DISPID_BufferingEvent), helpstring("Buffering media")]
void buffering();
[id(DISPID_PlayingEvent), helpstring("Media is playing")]
void playing();
[id(DISPID_PausedEvent), helpstring("Media is paused")]
void paused();
[id(DISPID_ForwardEvent), helpstring("Forward playback")]
void forward();
[id(DISPID_BackwardEvent), helpstring("Backward playback")]
void backward();
[id(DISPID_EncounteredErrorEvent), helpstring("An error has been encountered")]
void error();
[id(DISPID_EndReachedEvent), helpstring("End of playback reached")]
void ended();
[id(DISPID_StoppedEvent), helpstring("Playback stopped")]
void stopped();
[id(DISPID_TimeChangedEvent), helpstring("Time changed")]
void TimeChanged([in] long time);
[id(DISPID_PositionChangedEvent), helpstring("Position changed")]
void PositionChanged([in] long position);
[id(DISPID_SeekableChangedEvent), helpstring("Seek changed")]
void SeekableChanged([in] VARIANT_BOOL seekable);
[id(DISPID_PausableChangedEvent), helpstring("Pause setting changed")]
void PausableChanged([in] VARIANT_BOOL pausable);
[id(DISPID_MouseButtonEvent), helpstring("Mouse button pressed")]
void MouseButton([in] VARIANT_BOOL btn_right, [in] VARIANT_BOOL btn_center,
[in] VARIANT_BOOL btn_left, [in] VARIANT_BOOL btn_wheel_up,
[in] VARIANT_BOOL bnt_wheel_down);
[id(DISPID_MouseMovedEvent), helpstring("Mouse moved")]
void MouseMoved([in] long x, [in] long y);
[id(DISPID_MouseClickedEvent), helpstring("Mouse clicked")]
void MouseClicked([in] VARIANT_BOOL clicked);
[id(DISPID_MouseObjectEvent), helpstring("Mouse selected holds object")]
void MouseObject([in] VARIANT_BOOL moved);
}; };
[ [
...@@ -619,5 +683,6 @@ library AXVLC ...@@ -619,5 +683,6 @@ library AXVLC
{ {
[default] interface IVLCControl2; [default] interface IVLCControl2;
interface IVLCControl; interface IVLCControl;
[default, source] dispinterface DVLCEvents;
}; };
}; };
/*** Autogenerated by WIDL 1.1.23 from axvlc.idl - Do not edit ***/ /*** Autogenerated by WIDL 1.1.36 from axvlc.idl - Do not edit ***/
#include <rpc.h> #include <rpc.h>
#include <rpcndr.h> #include <rpcndr.h>
......
/*** Autogenerated by WIDL 1.1.23 from axvlc.idl - Do not edit ***/ /*** Autogenerated by WIDL 1.1.36 from axvlc.idl - Do not edit ***/
#include <rpc.h> #include <rpc.h>
#include <rpcndr.h> #include <rpcndr.h>
...@@ -793,6 +793,42 @@ void __RPC_STUB IVLCControl_put_AutoLoop_Stub( ...@@ -793,6 +793,42 @@ void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
#define DISPID_StopEvent (102) #define DISPID_StopEvent (102)
#define DISPID_NothingSpecialEvent (200)
#define DISPID_OpeningEvent (201)
#define DISPID_BufferingEvent (202)
#define DISPID_PlayingEvent (203)
#define DISPID_PausedEvent (204)
#define DISPID_ForwardEvent (205)
#define DISPID_BackwardEvent (206)
#define DISPID_EncounteredErrorEvent (207)
#define DISPID_EndReachedEvent (208)
#define DISPID_StoppedEvent (209)
#define DISPID_TimeChangedEvent (210)
#define DISPID_PositionChangedEvent (211)
#define DISPID_SeekableChangedEvent (212)
#define DISPID_PausableChangedEvent (213)
#define DISPID_MouseButtonEvent (214)
#define DISPID_MouseMovedEvent (215)
#define DISPID_MouseClickedEvent (216)
#define DISPID_MouseObjectEvent (217)
/***************************************************************************** /*****************************************************************************
* DVLCEvents dispinterface * DVLCEvents dispinterface
*/ */
......
This diff is collapsed.
...@@ -238,6 +238,30 @@ public: ...@@ -238,6 +238,30 @@ public:
void fireOnPauseEvent(void); void fireOnPauseEvent(void);
void fireOnStopEvent(void); void fireOnStopEvent(void);
// async events;
void fireOnIdleEvent();
void fireOnOpeningEvent();
void fireOnBufferingEvent();
void fireOnPlayingEvent();
void fireOnPausedEvent();
void fireOnErrorEvent();
void fireOnEndedEvent();
void fireOnStoppedEvent();
void fireOnForwardEvent();
void fireOnBackwardEvent();
void fireOnTimeChangedEvent(long time);
void fireOnPositionChangedEvent(long position);
void fireOnSeekableChangedEvent(VARIANT_BOOL seekable);
void fireOnPausableChangedEvent(VARIANT_BOOL pausable);
void fireOnMouseButtonEvent(VARIANT_BOOL btn_right, VARIANT_BOOL btn_center,
VARIANT_BOOL btn_left, VARIANT_BOOL btn_wheel_up,
VARIANT_BOOL bnt_wheel_down);
void fireOnMouseMovedEvent(long x, long y);
void fireOnMouseClickedEvent(VARIANT_BOOL clicked);
void fireOnMouseObjectEvent(VARIANT_BOOL moved);
// controlling IUnknown interface // controlling IUnknown interface
LPUNKNOWN pUnkOuter; LPUNKNOWN pUnkOuter;
...@@ -316,6 +340,8 @@ private: ...@@ -316,6 +340,8 @@ private:
void initVLC(); void initVLC();
bool playlist_select(int i); bool playlist_select(int i);
void set_player_window(); void set_player_window();
void player_register_events();
void player_unregister_events();
//implemented interfaces //implemented interfaces
class VLCOleObject *vlcOleObject; class VLCOleObject *vlcOleObject;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment