X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=activex%2Folecontrol.cpp;h=32e2f1c82ff3f74b8a81e5128631617d3bd68aa6;hb=46ff91c65202b418c260fe5f4a8c3b3cd0e6580a;hp=832613d2661084967e6b0552e6331fa0925890bb;hpb=3d831e04ece115bb9ca379b9552370755453e46e;p=vlc diff --git a/activex/olecontrol.cpp b/activex/olecontrol.cpp index 832613d266..32e2f1c82f 100644 --- a/activex/olecontrol.cpp +++ b/activex/olecontrol.cpp @@ -1,7 +1,7 @@ /***************************************************************************** * olecontrol.cpp: ActiveX control for VLC ***************************************************************************** - * Copyright (C) 2005 VideoLAN + * Copyright (C) 2005 the VideoLAN team * * Authors: Damien Fouilleul * @@ -17,14 +17,12 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ #include "plugin.h" #include "olecontrol.h" -#include "utils.h" - using namespace std; STDMETHODIMP VLCOleControl::GetControlInfo(CONTROLINFO *pCI) @@ -42,92 +40,33 @@ STDMETHODIMP VLCOleControl::GetControlInfo(CONTROLINFO *pCI) STDMETHODIMP VLCOleControl::OnMnemonic(LPMSG pMsg) { - return E_NOTIMPL; + return S_OK; }; -static HRESULT getAmbientProperty(VLCPlugin& instance, DISPID dispID, VARIANT& v) +STDMETHODIMP VLCOleControl::OnAmbientPropertyChange(DISPID dispID) { HRESULT hr; - IOleObject *oleObj; + LPOLEOBJECT oleObj; - hr = instance.QueryInterface(IID_IOleObject, (LPVOID *)&oleObj); + hr = QueryInterface(IID_IOleObject, (LPVOID *)&oleObj); if( SUCCEEDED(hr) ) { - IOleClientSite *clientSite; + LPOLECLIENTSITE clientSite; hr = oleObj->GetClientSite(&clientSite); if( SUCCEEDED(hr) && (NULL != clientSite) ) { - hr = GetObjectProperty(clientSite, dispID, v); + _p_instance->onAmbientChanged(clientSite, dispID); clientSite->Release(); } oleObj->Release(); } - return hr; -}; - -STDMETHODIMP VLCOleControl::OnAmbientPropertyChange(DISPID dispID) -{ - switch( dispID ) - { - case DISPID_AMBIENT_BACKCOLOR: - break; - case DISPID_AMBIENT_DISPLAYNAME: - break; - case DISPID_AMBIENT_FONT: - break; - case DISPID_AMBIENT_FORECOLOR: - break; - case DISPID_AMBIENT_LOCALEID: - break; - case DISPID_AMBIENT_MESSAGEREFLECT: - break; - case DISPID_AMBIENT_SCALEUNITS: - break; - case DISPID_AMBIENT_TEXTALIGN: - break; - case DISPID_AMBIENT_USERMODE: - break; - case DISPID_AMBIENT_UIDEAD: - break; - case DISPID_AMBIENT_SHOWGRABHANDLES: - break; - case DISPID_AMBIENT_SHOWHATCHING: - break; - case DISPID_AMBIENT_DISPLAYASDEFAULT: - break; - case DISPID_AMBIENT_SUPPORTSMNEMONICS: - break; - case DISPID_AMBIENT_AUTOCLIP: - break; - case DISPID_AMBIENT_APPEARANCE: - break; - case DISPID_AMBIENT_CODEPAGE: - VARIANT v; - VariantInit(&v); - V_VT(&v) = VT_I4; - if( SUCCEEDED(getAmbientProperty(*_p_instance, dispID, v)) ) - { - _p_instance->setCodePage(V_I4(&v)); - } - break; - case DISPID_AMBIENT_PALETTE: - break; - case DISPID_AMBIENT_CHARSET: - break; - case DISPID_AMBIENT_RIGHTTOLEFT: - break; - case DISPID_AMBIENT_TOPTOBOTTOM: - break; - default: - break; - } return S_OK; }; STDMETHODIMP VLCOleControl::FreezeEvents(BOOL bFreeze) { - _p_instance->setSendEvents(! bFreeze); + _p_instance->freezeEvents(bFreeze); return S_OK; };