Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Unified Diff: ui/gfx/native_theme_win.cc

Issue 8597015: Add a new GetSystemColor method to native theme. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: for review Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..b5751e14ad04d9528c863de503cab8558df9f580 100644
--- a/ui/gfx/native_theme_win.cc
+++ b/ui/gfx/native_theme_win.cc
@@ -55,6 +55,10 @@ void SetCheckerboardShader(SkPaint* paint, const RECT& align_rect) {
SkSafeUnref(paint->setShader(shader));
}
+SkColor WinColorToSkColor(COLORREF color) {
+ return SkColorSetRGB(GetRValue(color), GetGValue(color), GetBValue(color));
+}
+
} // namespace
namespace gfx {
@@ -1682,4 +1686,17 @@ int NativeThemeWin::GetWindowsState(Part part,
return state_id;
}
+SkColor NativeThemeWin::GetSystemColor(ColorId color_id) const {
+ switch (color_id) {
+ case kDialogBackgroundColor:
+ // 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 SkColorSetRGB(255, 0, 0); // warning red
+}
+
} // namespace gfx

Powered by Google App Engine
This is Rietveld 408576698