[vlc-commits] win32: added support of background color changing

Sergey Radionov git at videolan.org
Mon Jan 23 19:28:36 CET 2012


npapi-vlc | branch: master | Sergey Radionov <RSATom at gmail.com> | Sat Jan 14 22:54:21 2012 +0700| [5ebd4e023de6e3c7a6bdb5e31b71228437cc814f] | committer: Cheng Sun

win32: added support of background color changing

Modified-by: Cheng Sun <chengsun9 at gmail.com>
Signed-off-by: Cheng Sun <chengsun9 at gmail.com>

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=5ebd4e023de6e3c7a6bdb5e31b71228437cc814f
---

 common/win32_fullscreen.cpp |   12 +++++++++++-
 common/win32_fullscreen.h   |    3 ++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/common/win32_fullscreen.cpp b/common/win32_fullscreen.cpp
index 0943849..24bbdf3 100644
--- a/common/win32_fullscreen.cpp
+++ b/common/win32_fullscreen.cpp
@@ -607,6 +607,10 @@ VLCHolderWnd::CreateHolderWindow(HINSTANCE hInstance,
 
 VLCHolderWnd::~VLCHolderWnd()
 {
+    if(_hBgBrush) {
+        DeleteObject(_hBgBrush);
+        _hBgBrush = 0;
+    }
 }
 
 bool VLCHolderWnd::Create(HWND hWndParent)
@@ -618,7 +622,13 @@ bool VLCHolderWnd::Create(HWND hWndParent)
 
 void VLCHolderWnd::PreRegisterWindowClass(WNDCLASS* wc)
 {
-    wc->hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
+    if( !_hBgBrush){
+        BYTE r = 0, g = 0, b = 0;
+        HtmlColor2RGB(PO()->get_bg_color(), &r, &g, &b);
+        _hBgBrush = CreateSolidBrush(RGB(r, g, b));
+    }
+
+    wc->hbrBackground = _hBgBrush;
     wc->lpszClassName = TEXT("Web Plugin VLC Window Holder Class");
 }
 
diff --git a/common/win32_fullscreen.h b/common/win32_fullscreen.h
index 0024d1a..ea41231 100644
--- a/common/win32_fullscreen.h
+++ b/common/win32_fullscreen.h
@@ -145,7 +145,7 @@ public:
 protected:
     VLCHolderWnd(HINSTANCE hInstance, VLCWindowsManager* WM)
         : VLCWnd(hInstance), _hMouseHook(NULL), _MouseHookThreadId(0),
-         _wm(WM), _CtrlsWnd(0) {};
+         _wm(WM), _CtrlsWnd(0), _hBgBrush(0) {};
     bool Create(HWND hWndParent);
 
     virtual void PreRegisterWindowClass(WNDCLASS* wc);
@@ -184,6 +184,7 @@ private:
 
 private:
     VLCWindowsManager* _wm;
+    HBRUSH _hBgBrush;
     VLCControlsWnd*    _CtrlsWnd;
 };
 



More information about the vlc-commits mailing list