]> git.sesse.net Git - vlc/blobdiff - activex/olecontrol.cpp
Fix realaudio linking on Linux without the Win32 loader
[vlc] / activex / olecontrol.cpp
index f7519df071d8fb2fa15e49462f49c40570785906..32e2f1c82ff3f74b8a81e5128631617d3bd68aa6 100644 (file)
  *
  * 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,86 +40,27 @@ 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;
 };