-/*****************************************************************************\r
- * oleinplaceobject.cpp: ActiveX control for VLC\r
- *****************************************************************************\r
- * Copyright (C) 2005 VideoLAN\r
- *\r
- * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>\r
- *\r
- * This program is free software; you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation; either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.\r
- *****************************************************************************/\r
-\r
-#include "plugin.h"\r
-#include "oleinplaceobject.h"\r
-\r
-#include <docobj.h>\r
-\r
-using namespace std;\r
-\r
-STDMETHODIMP VLCOleInPlaceObject::GetWindow(HWND *pHwnd)\r
-{\r
- if( NULL == pHwnd )\r
- return E_INVALIDARG;\r
-\r
- if( _p_instance->isInPlaceActive() )\r
- {\r
- if( NULL != (*pHwnd = _p_instance->getInPlaceWindow()) )\r
- return S_OK;\r
-\r
- return E_FAIL;\r
- }\r
- *pHwnd = NULL;\r
-\r
- return E_UNEXPECTED;\r
-};\r
-\r
-STDMETHODIMP VLCOleInPlaceObject::ContextSensitiveHelp(BOOL fEnterMode)\r
-{\r
- return E_NOTIMPL;\r
-};\r
-\r
-STDMETHODIMP VLCOleInPlaceObject::InPlaceDeactivate(void)\r
-{\r
- if( _p_instance->isInPlaceActive() )\r
- {\r
- UIDeactivate();\r
- _p_instance->onInPlaceDeactivate();\r
-\r
- LPOLEOBJECT p_oleObject;\r
- if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) ) \r
- {\r
- LPOLECLIENTSITE p_clientSite;\r
- if( SUCCEEDED(p_oleObject->GetClientSite(&p_clientSite)) )\r
- {\r
- LPOLEINPLACESITE p_inPlaceSite;\r
-\r
- if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )\r
- {\r
- p_inPlaceSite->OnInPlaceDeactivate();\r
- p_inPlaceSite->Release();\r
- }\r
- p_clientSite->Release();\r
- }\r
- p_oleObject->Release();\r
- }\r
- return S_OK;\r
- }\r
- return E_UNEXPECTED;\r
-};\r
-\r
-STDMETHODIMP VLCOleInPlaceObject::UIDeactivate(void)\r
-{\r
- if( _p_instance->isInPlaceActive() )\r
- {\r
- if( _p_instance->hasFocus() )\r
- {\r
- _p_instance->setFocus(FALSE);\r
-\r
- LPOLEOBJECT p_oleObject;\r
- if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) ) \r
- {\r
- LPOLECLIENTSITE p_clientSite;\r
- if( SUCCEEDED(p_oleObject->GetClientSite(&p_clientSite)) )\r
- {\r
- LPOLEINPLACESITE p_inPlaceSite;\r
-\r
- if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )\r
- {\r
- p_inPlaceSite->OnUIDeactivate(FALSE);\r
- p_inPlaceSite->Release();\r
- }\r
- p_clientSite->Release();\r
- }\r
- p_oleObject->Release();\r
- }\r
- return S_OK;\r
- }\r
- }\r
- return E_UNEXPECTED;\r
-};\r
-\r
-STDMETHODIMP VLCOleInPlaceObject::SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect)\r
-{\r
- if( _p_instance->isInPlaceActive() )\r
- {\r
- _p_instance->onPositionChange(lprcPosRect, lprcClipRect);\r
- return S_OK;\r
- }\r
- return E_UNEXPECTED;\r
-};\r
-\r
-STDMETHODIMP VLCOleInPlaceObject::ReactivateAndUndo(void)\r
-{\r
- return INPLACE_E_NOTUNDOABLE;\r
-};\r
-\r
+/*****************************************************************************
+ * oleinplaceobject.cpp: ActiveX control for VLC
+ *****************************************************************************
+ * Copyright (C) 2005 VideoLAN
+ *
+ * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ *****************************************************************************/
+
+#include "plugin.h"
+#include "oleinplaceobject.h"
+
+#include <docobj.h>
+
+using namespace std;
+
+STDMETHODIMP VLCOleInPlaceObject::GetWindow(HWND *pHwnd)
+{
+ if( NULL == pHwnd )
+ return E_INVALIDARG;
+
+ if( _p_instance->isInPlaceActive() )
+ {
+ if( NULL != (*pHwnd = _p_instance->getInPlaceWindow()) )
+ return S_OK;
+
+ return E_FAIL;
+ }
+ *pHwnd = NULL;
+
+ return E_UNEXPECTED;
+};
+
+STDMETHODIMP VLCOleInPlaceObject::ContextSensitiveHelp(BOOL fEnterMode)
+{
+ return E_NOTIMPL;
+};
+
+STDMETHODIMP VLCOleInPlaceObject::InPlaceDeactivate(void)
+{
+ if( _p_instance->isInPlaceActive() )
+ {
+ UIDeactivate();
+ _p_instance->onInPlaceDeactivate();
+
+ LPOLEOBJECT p_oleObject;
+ if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) )
+ {
+ LPOLECLIENTSITE p_clientSite;
+ if( SUCCEEDED(p_oleObject->GetClientSite(&p_clientSite)) )
+ {
+ LPOLEINPLACESITE p_inPlaceSite;
+
+ if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )
+ {
+ p_inPlaceSite->OnInPlaceDeactivate();
+ p_inPlaceSite->Release();
+ }
+ p_clientSite->Release();
+ }
+ p_oleObject->Release();
+ }
+ return S_OK;
+ }
+ return E_UNEXPECTED;
+};
+
+STDMETHODIMP VLCOleInPlaceObject::UIDeactivate(void)
+{
+ if( _p_instance->isInPlaceActive() )
+ {
+ if( _p_instance->hasFocus() )
+ {
+ _p_instance->setFocus(FALSE);
+
+ LPOLEOBJECT p_oleObject;
+ if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) )
+ {
+ LPOLECLIENTSITE p_clientSite;
+ if( SUCCEEDED(p_oleObject->GetClientSite(&p_clientSite)) )
+ {
+ LPOLEINPLACESITE p_inPlaceSite;
+
+ if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )
+ {
+ p_inPlaceSite->OnUIDeactivate(FALSE);
+ p_inPlaceSite->Release();
+ }
+ p_clientSite->Release();
+ }
+ p_oleObject->Release();
+ }
+ return S_OK;
+ }
+ }
+ return E_UNEXPECTED;
+};
+
+STDMETHODIMP VLCOleInPlaceObject::SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect)
+{
+ if( _p_instance->isInPlaceActive() )
+ {
+ _p_instance->onPositionChange(lprcPosRect, lprcClipRect);
+ return S_OK;
+ }
+ return E_UNEXPECTED;
+};
+
+STDMETHODIMP VLCOleInPlaceObject::ReactivateAndUndo(void)
+{
+ return INPLACE_E_NOTUNDOABLE;
+};
+