npapi-vlc | branch: master | Daniel Amm <[email protected]> | Tue Aug 4 01:55:24 2015 +0200| [1ad868ac37a4943d14ff2a468c7d1acef64099f3] | committer: Jean-Baptiste Kempf
Win32: support the attribute 'branding' Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=1ad868ac37a4943d14ff2a468c7d1acef64099f3 --- activex/axvlc.idl | 5 +++++ activex/persistpropbag.cpp | 12 ++++++++++++ activex/vlccontrol2.cpp | 15 +++++++++++++++ activex/vlccontrol2.h | 2 ++ common/win32_fullscreen.cpp | 13 ++++++++----- 5 files changed, 42 insertions(+), 5 deletions(-) diff --git a/activex/axvlc.idl b/activex/axvlc.idl index 0db3efa..e87a945 100644 --- a/activex/axvlc.idl +++ b/activex/axvlc.idl @@ -662,6 +662,11 @@ library AXVLC [propget, helpstring("Returns the media description object.")] HRESULT mediaDescription([out, retval] IVLCMediaDescription** obj); + + [propget, helpstring("Returns/sets visibility of the VLC branding.")] + HRESULT Branding([out, retval] VARIANT_BOOL* visible); + [propput, helpstring("Returns/sets visibility of the VLC branding.")] + HRESULT Branding([in] VARIANT_BOOL visible); }; [ diff --git a/activex/persistpropbag.cpp b/activex/persistpropbag.cpp index eb0be5c..faab5d0 100644 --- a/activex/persistpropbag.cpp +++ b/activex/persistpropbag.cpp @@ -261,6 +261,13 @@ STDMETHODIMP VLCPersistPropertyBag::Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErr } } + V_VT(&value) = VT_BOOL; + if( S_OK == pPropBag->Read(OLESTR("Branding"), &value, pErrorLog) ) + { + _p_instance->get_options().set_enable_branding(V_BOOL(&value) != VARIANT_FALSE); + VariantClear(&value); + } + return _p_instance->onLoad(); }; @@ -332,6 +339,11 @@ STDMETHODIMP VLCPersistPropertyBag::Save(LPPROPERTYBAG pPropBag, BOOL fClearDirt pPropBag->Write(OLESTR("FullscreenEnabled"), &value); VariantClear(&value); + V_VT(&value) = VT_BOOL; + V_BOOL(&value) = _p_instance->get_options().get_enable_branding()? VARIANT_TRUE : VARIANT_FALSE; + pPropBag->Write(OLESTR("Branding"), &value); + VariantClear(&value); + if( fClearDirty ) _p_instance->setDirty(FALSE); diff --git a/activex/vlccontrol2.cpp b/activex/vlccontrol2.cpp index e85aec1..681fb24 100644 --- a/activex/vlccontrol2.cpp +++ b/activex/vlccontrol2.cpp @@ -1690,6 +1690,21 @@ STDMETHODIMP VLCControl2::put_BackColor(OLE_COLOR backcolor) return S_OK; }; +STDMETHODIMP VLCControl2::get_Branding(VARIANT_BOOL *visible) +{ + if( NULL == visible ) + return E_POINTER; + + *visible = varbool( _p_instance->get_options().get_enable_branding() ); + return S_OK; +}; + +STDMETHODIMP VLCControl2::put_Branding(VARIANT_BOOL visible) +{ + _p_instance->get_options().set_enable_branding( VARIANT_FALSE != visible ); + return S_OK; +}; + STDMETHODIMP VLCControl2::get_audio(IVLCAudio** obj) { return object_get(obj,_p_vlcaudio); diff --git a/activex/vlccontrol2.h b/activex/vlccontrol2.h index 76a7ac7..c5bc1cb 100644 --- a/activex/vlccontrol2.h +++ b/activex/vlccontrol2.h @@ -449,6 +449,8 @@ public: STDMETHODIMP put_BackColor(OLE_COLOR backcolor) override; STDMETHODIMP get_FullscreenEnabled(VARIANT_BOOL* enabled) override; STDMETHODIMP put_FullscreenEnabled(VARIANT_BOOL enabled) override; + STDMETHODIMP get_Branding(VARIANT_BOOL* visible) override; + STDMETHODIMP put_Branding(VARIANT_BOOL visible) override; STDMETHODIMP get_audio(IVLCAudio**) override; STDMETHODIMP get_input(IVLCInput**) override; diff --git a/common/win32_fullscreen.cpp b/common/win32_fullscreen.cpp index 0289129..c801760 100644 --- a/common/win32_fullscreen.cpp +++ b/common/win32_fullscreen.cpp @@ -556,11 +556,14 @@ LRESULT VLCHolderWnd::WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_PAINT:{ PAINTSTRUCT PaintStruct; HDC hDC = BeginPaint(hWnd(), &PaintStruct); - RECT rect; - GetClientRect(hWnd(), &rect); - int IconX = ((rect.right - rect.left) - GetSystemMetrics(SM_CXICON))/2; - int IconY = ((rect.bottom - rect.top) - GetSystemMetrics(SM_CYICON))/2; - DrawIcon(hDC, IconX, IconY, RC().hBackgroundIcon); + if( PO() && PO()->get_enable_branding() ) + { + RECT rect; + GetClientRect(hWnd(), &rect); + int IconX = ((rect.right - rect.left) - GetSystemMetrics(SM_CXICON))/2; + int IconY = ((rect.bottom - rect.top) - GetSystemMetrics(SM_CYICON))/2; + DrawIcon(hDC, IconX, IconY, RC().hBackgroundIcon); + } EndPaint(hWnd(), &PaintStruct); break; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
