X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=projects%2Factivex%2Fvlccontrol2.h;h=1898982045a6eb0314d92248d4b9ec78430bc3d1;hb=a5922991f0660be69c2e363b29786c5743dc0586;hp=30ad2cdbffa732085d5afcbca98fbcafddf6cd64;hpb=c34b5ca59d439d2f6b132689cd09bb95794d467a;p=vlc diff --git a/projects/activex/vlccontrol2.h b/projects/activex/vlccontrol2.h index 30ad2cdbff..1898982045 100644 --- a/projects/activex/vlccontrol2.h +++ b/projects/activex/vlccontrol2.h @@ -415,26 +415,37 @@ public: STDMETHODIMP Invoke(DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*); // IVLCMarquee methods - STDMETHODIMP enable(); - STDMETHODIMP disable(); - STDMETHODIMP text(BSTR); - STDMETHODIMP color(long); - STDMETHODIMP opacity(long); - STDMETHODIMP position(long); - STDMETHODIMP refresh(long); - STDMETHODIMP size(long); - STDMETHODIMP timeout(long); - STDMETHODIMP x(long); - STDMETHODIMP y(long); + STDMETHODIMP enable() { return do_put_int(libvlc_marquee_Enable, true); } + STDMETHODIMP disable() { return do_put_int(libvlc_marquee_Enable, false); } + + STDMETHODIMP get_text(BSTR *); + STDMETHODIMP put_text(BSTR); + STDMETHODIMP get_position(BSTR *); + STDMETHODIMP put_position(BSTR); + +#define PROP_INT( a, b ) \ + STDMETHODIMP get_##a(LONG *val) { return do_get_int(b,val); } \ + STDMETHODIMP put_##a(LONG val) { return do_put_int(b,val); } + + PROP_INT( color, libvlc_marquee_Color ) + PROP_INT( opacity, libvlc_marquee_Opacity ) + PROP_INT( refresh, libvlc_marquee_Refresh ) + PROP_INT( size, libvlc_marquee_Size ) + PROP_INT( timeout, libvlc_marquee_Timeout ) + PROP_INT( x, libvlc_marquee_X ) + PROP_INT( y, libvlc_marquee_Y ) + +#undef PROP_INT protected: HRESULT loadTypeInfo(); HRESULT exception_bridge(libvlc_exception_t *ex); - private: VLCPlugin* _p_instance; ITypeInfo* _p_typeinfo; + HRESULT do_put_int(unsigned idx, LONG val); + HRESULT do_get_int(unsigned idx, LONG *val); };