Index: ui/gfx/native_theme_win.cc |
diff --git a/ui/gfx/native_theme_win.cc b/ui/gfx/native_theme_win.cc |
index 9114e354b1a8d7b3e6933938da3abb8b675b44fd..fd2550ae2db715d349ab72cc683be2b309af911f 100644 |
--- a/ui/gfx/native_theme_win.cc |
+++ b/ui/gfx/native_theme_win.cc |
@@ -55,6 +55,12 @@ void SetCheckerboardShader(SkPaint* paint, const RECT& align_rect) { |
SkSafeUnref(paint->setShader(shader)); |
} |
+SkColor WinColorToSkColor(COLORREF color) { |
+ return SkColorSetRGB(GetRValue(color), GetGValue(color), GetBValue(color)); |
+} |
+ |
+const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); |
James Cook
2011/11/19 03:02:46
nit: We usually list constants before functions in
benrg
2011/11/21 18:32:40
Done.
|
+ |
} // namespace |
namespace gfx { |
@@ -1682,4 +1688,20 @@ int NativeThemeWin::GetWindowsState(Part part, |
return state_id; |
} |
+SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const { |
+ switch (color_id) { |
+ case kDialogBackgroundColorId: |
+ // TODO(benrg): Should this use the new Windows theme functions? The old |
+ // code in DialogClientView::OnPaint used GetSysColor(COLOR_3DFACE). |
+ return WinColorToSkColor(GetSysColor(COLOR_3DFACE)); |
+ default: |
+ NOTREACHED() << "Invalid color_id: " << color_id; |
+ break; |
+ } |
+ return kInvalidColorIdColor; |
+} |
+ |
+ |
+} |
+ |
} // namespace gfx |