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

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: move bug-check color constant out of header file 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..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

Powered by Google App Engine
This is Rietveld 408576698