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

Side by Side Diff: ui/gfx/native_theme_win.cc

Issue 10270021: Make all the menu UI consitent with the new chromeos menu spec. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gfx/native_theme_win.h" 5 #include "ui/gfx/native_theme_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <uxtheme.h> 8 #include <uxtheme.h>
9 #include <vsstyle.h> 9 #include <vsstyle.h>
10 #include <vssym32.h> 10 #include <vssym32.h>
11 11
12 #include "base/basictypes.h" 12 #include "base/basictypes.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/memory/scoped_handle.h" 14 #include "base/memory/scoped_handle.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "base/win/scoped_gdi_object.h" 16 #include "base/win/scoped_gdi_object.h"
17 #include "base/win/scoped_hdc.h" 17 #include "base/win/scoped_hdc.h"
18 #include "base/win/scoped_select_object.h" 18 #include "base/win/scoped_select_object.h"
19 #include "base/win/windows_version.h" 19 #include "base/win/windows_version.h"
20 #include "skia/ext/platform_canvas.h" 20 #include "skia/ext/platform_canvas.h"
21 #include "skia/ext/skia_utils_win.h" 21 #include "skia/ext/skia_utils_win.h"
22 #include "third_party/skia/include/core/SkCanvas.h" 22 #include "third_party/skia/include/core/SkCanvas.h"
23 #include "third_party/skia/include/core/SkColorPriv.h" 23 #include "third_party/skia/include/core/SkColorPriv.h"
24 #include "third_party/skia/include/core/SkShader.h" 24 #include "third_party/skia/include/core/SkShader.h"
25 #include "ui/gfx/color_utils.h"
25 #include "ui/gfx/gdi_util.h" 26 #include "ui/gfx/gdi_util.h"
26 #include "ui/gfx/rect.h" 27 #include "ui/gfx/rect.h"
27 28
28 namespace { 29 namespace {
29 30
30 // TODO: Obtain the correct colors using GetSysColor. 31 // TODO: Obtain the correct colors using GetSysColor.
31 // Theme colors returned by GetSystemColor(). 32 // Theme colors returned by GetSystemColor().
32 const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); 33 const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128);
33 // Dialogs: 34 // Dialogs:
34 const SkColor kDialogBackgroundColor = SkColorSetRGB(200, 200, 200); 35 const SkColor kDialogBackgroundColor = SkColorSetRGB(200, 200, 200);
35 // FocusableBorder (should be unused on Win): 36 // FocusableBorder (should be unused on Win):
36 const SkColor kFocusedBorderColor= SkColorSetRGB(0x4D, 0x90, 0xFE); 37 const SkColor kFocusedBorderColor= SkColorSetRGB(0x4D, 0x90, 0xFE);
37 const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9); 38 const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9);
38 // TextButton: 39 // TextButton:
39 const SkColor kTextButtonBackgroundColor = SkColorSetRGB(0xde, 0xde, 0xde); 40 const SkColor kTextButtonBackgroundColor = SkColorSetRGB(0xde, 0xde, 0xde);
40 const SkColor kTextButtonEnabledColor = SkColorSetRGB(6, 45, 117); 41 const SkColor kTextButtonEnabledColor = SkColorSetRGB(6, 45, 117);
41 const SkColor kTextButtonDisabledColor = SkColorSetRGB(161, 161, 146); 42 const SkColor kTextButtonDisabledColor = SkColorSetRGB(161, 161, 146);
42 const SkColor kTextButtonHighlightColor = SkColorSetARGB(200, 255, 255, 255); 43 const SkColor kTextButtonHighlightColor = SkColorSetARGB(200, 255, 255, 255);
43 const SkColor kTextButtonHoverColor = kTextButtonEnabledColor; 44 const SkColor kTextButtonHoverColor = kTextButtonEnabledColor;
44 // MenuItem: 45 // MenuItem:
45 const SkColor kEnabledMenuItemForegroundColor = kTextButtonEnabledColor; 46 const SkColor kEnabledMenuItemForegroundColor = kTextButtonEnabledColor;
46 const SkColor kDisabledMenuItemForegroundColor = kTextButtonDisabledColor; 47 const SkColor kDisabledMenuItemForegroundColor = kTextButtonDisabledColor;
47 const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(246, 249, 253); 48 const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(246, 249, 253);
49 // Label:
50 const SkColor kLabelEnabledColor = color_utils::GetSysSkColor(COLOR_WINDOWTEXT);
51 const SkColor kLabelDisabledColor = color_utils::GetSysSkColor(COLOR_GRAYTEXT);
52 const SkColor kLabelBackgroundColor = color_utils::GetSysSkColor(COLOR_WINDOW);
48 // Textfield: 53 // Textfield:
49 const SkColor kTextfieldDefaultColor = SK_ColorBLACK; 54 const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
50 const SkColor kTextfieldDefaultBackground = SK_ColorWHITE; 55 const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
51 const SkColor kTextfieldSelectionColor = SK_ColorWHITE; 56 const SkColor kTextfieldSelectionColor = SK_ColorWHITE;
52 const SkColor kTextfieldSelectionBackgroundFocused = 57 const SkColor kTextfieldSelectionBackgroundFocused =
53 SkColorSetRGB(0x1D, 0x90, 0xFF); 58 SkColorSetRGB(0x1D, 0x90, 0xFF);
54 const SkColor kTextfieldSelectionBackgroundUnfocused = SK_ColorLTGRAY; 59 const SkColor kTextfieldSelectionBackgroundUnfocused = SK_ColorLTGRAY;
55 60
56 SkColor WinColorToSkColor(COLORREF color) { 61 SkColor WinColorToSkColor(COLORREF color) {
57 return SkColorSetRGB(GetRValue(color), GetGValue(color), GetBValue(color)); 62 return SkColorSetRGB(GetRValue(color), GetGValue(color), GetBValue(color));
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 return kTextButtonHoverColor; 397 return kTextButtonHoverColor;
393 398
394 // MenuItem 399 // MenuItem
395 case kColorId_EnabledMenuItemForegroundColor: 400 case kColorId_EnabledMenuItemForegroundColor:
396 return kEnabledMenuItemForegroundColor; 401 return kEnabledMenuItemForegroundColor;
397 case kColorId_DisabledMenuItemForegroundColor: 402 case kColorId_DisabledMenuItemForegroundColor:
398 return kDisabledMenuItemForegroundColor; 403 return kDisabledMenuItemForegroundColor;
399 case kColorId_FocusedMenuItemBackgroundColor: 404 case kColorId_FocusedMenuItemBackgroundColor:
400 return kFocusedMenuItemBackgroundColor; 405 return kFocusedMenuItemBackgroundColor;
401 406
407 // Label
408 case kColorId_LabelEnabledColor:
409 return kLabelEnabledColor;
410 case kColorId_LabelDisabledColor:
411 return kLabelDisabledColor;
412 case kColorId_LabelBackgroundColor:
413 return kLabelBackgroundColor;
414
402 // Textfield 415 // Textfield
403 case kColorId_TextfieldDefaultColor: 416 case kColorId_TextfieldDefaultColor:
404 return kTextfieldDefaultColor; 417 return kTextfieldDefaultColor;
405 case kColorId_TextfieldDefaultBackground: 418 case kColorId_TextfieldDefaultBackground:
406 return kTextfieldDefaultBackground; 419 return kTextfieldDefaultBackground;
407 case kColorId_TextfieldSelectionColor: 420 case kColorId_TextfieldSelectionColor:
408 return kTextfieldSelectionColor; 421 return kTextfieldSelectionColor;
409 case kColorId_TextfieldSelectionBackgroundFocused: 422 case kColorId_TextfieldSelectionBackgroundFocused:
410 return kTextfieldSelectionBackgroundFocused; 423 return kTextfieldSelectionBackgroundFocused;
411 case kColorId_TextfieldSelectionBackgroundUnfocused: 424 case kColorId_TextfieldSelectionBackgroundUnfocused:
(...skipping 1342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1754 handle = open_theme_(NULL, L"Spin"); 1767 handle = open_theme_(NULL, L"Spin");
1755 break; 1768 break;
1756 default: 1769 default:
1757 NOTREACHED(); 1770 NOTREACHED();
1758 } 1771 }
1759 theme_handles_[theme_name] = handle; 1772 theme_handles_[theme_name] = handle;
1760 return handle; 1773 return handle;
1761 } 1774 }
1762 1775
1763 } // namespace gfx 1776 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698