]> git.sesse.net Git - vlc/blobdiff - activex/persistpropbag.cpp
activex: remove logo when control runs in usermode and fill canvas with background...
[vlc] / activex / persistpropbag.cpp
index ef6531a6833eb7f359962609495841ca40994f7b..b53c5113fc3631f718fa5a632deb3bac862d345e 100644 (file)
@@ -182,6 +182,29 @@ STDMETHODIMP VLCPersistPropertyBag::Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErr
         VariantClear(&value);
     }
 
+    V_VT(&value) = VT_I4;
+    if( S_OK == pPropBag->Read(OLESTR("backcolor"), &value, pErrorLog) )
+    {
+        _p_instance->setBackColor(V_I4(&value));
+        VariantClear(&value);
+    }
+    else
+    {
+        /*
+        ** try alternative syntax
+        */
+        V_VT(&value) = VT_BSTR;
+        if( S_OK == pPropBag->Read(OLESTR("bgcolor"), &value, pErrorLog) )
+        {
+            long backcolor;
+            if( swscanf(V_BSTR(&value), L"#%lX", &backcolor) )
+            {
+                _p_instance->setBackColor(backcolor);
+            }
+            VariantClear(&value);
+        }
+    }
+
     return _p_instance->onLoad();
 };
 
@@ -238,6 +261,11 @@ STDMETHODIMP VLCPersistPropertyBag::Save(LPPROPERTYBAG pPropBag, BOOL fClearDirt
     pPropBag->Write(OLESTR("BaseURL"), &value);
     VariantClear(&value);
 
+    V_VT(&value) = VT_I4;
+    V_I4(&value) = _p_instance->getBackColor();
+    pPropBag->Write(OLESTR("BackColor"), &value);
+    VariantClear(&value);
+
     if( fClearDirty )
         _p_instance->setDirty(FALSE);