| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 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/native_theme/native_theme_gtk.h" | 5 #include "chromecast/port/ui/native_theme/native_theme_cast.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | |
| 8 | |
| 9 #include "base/basictypes.h" | |
| 10 #include "base/logging.h" | 7 #include "base/logging.h" |
| 11 #include "ui/gfx/skia_utils_gtk.h" | |
| 12 | 8 |
| 13 namespace { | 9 namespace { |
| 14 | 10 |
| 15 const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); | 11 const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); |
| 16 | 12 |
| 17 // Theme colors returned by GetSystemColor(). | 13 // Theme colors returned by GetSystemColor(). |
| 18 | 14 |
| 19 // FocusableBorder: | 15 // FocusableBorder: |
| 20 const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE); | 16 const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE); |
| 21 const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9); | 17 const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 35 const SkColor kButtonDisabledColor = SkColorSetRGB(161, 161, 146); | 31 const SkColor kButtonDisabledColor = SkColorSetRGB(161, 161, 146); |
| 36 const SkColor kButtonHighlightColor = SkColorSetARGB(200, 255, 255, 255); | 32 const SkColor kButtonHighlightColor = SkColorSetARGB(200, 255, 255, 255); |
| 37 const SkColor kButtonHoverColor = kButtonEnabledColor; | 33 const SkColor kButtonHoverColor = kButtonEnabledColor; |
| 38 | 34 |
| 39 } // namespace | 35 } // namespace |
| 40 | 36 |
| 41 namespace ui { | 37 namespace ui { |
| 42 | 38 |
| 43 // static | 39 // static |
| 44 NativeTheme* NativeTheme::instance() { | 40 NativeTheme* NativeTheme::instance() { |
| 45 return NativeThemeGtk::instance(); | 41 return NativeThemeCast::instance(); |
| 46 } | 42 } |
| 47 | 43 |
| 48 // static | 44 NativeThemeCast* NativeThemeCast::instance() { |
| 49 NativeThemeGtk* NativeThemeGtk::instance() { | 45 CR_DEFINE_STATIC_LOCAL(NativeThemeCast, s_native_theme, ()); |
| 50 CR_DEFINE_STATIC_LOCAL(NativeThemeGtk, s_native_theme, ()); | |
| 51 return &s_native_theme; | 46 return &s_native_theme; |
| 52 } | 47 } |
| 53 | 48 |
| 54 SkColor NativeThemeGtk::GetSystemColor(ColorId color_id) const { | 49 SkColor NativeThemeCast::GetSystemColor(ColorId color_id) const { |
| 55 switch (color_id) { | 50 switch (color_id) { |
| 56 case kColorId_DialogBackground: | 51 case kColorId_DialogBackground: |
| 57 // TODO(benrg): This code used to call gtk_widget_get_style() on the | 52 return kButtonDisabledColor; |
| 58 // widget being styled. After refactoring, that widget is not available | |
| 59 // and we have to call gtk_widget_get_default_style(). Unfortunately, | |
| 60 // it turns out that this breaks everything (chromium bug 105609, | |
| 61 // chromium-os bug 23461). Need to figure out the right thing and do it. | |
| 62 return gfx::GdkColorToSkColor( | |
| 63 gtk_widget_get_default_style()->bg[GTK_STATE_NORMAL]); | |
| 64 | 53 |
| 65 // FocusableBorder: | 54 // FocusableBorder: |
| 66 case kColorId_FocusedBorderColor: | 55 case kColorId_FocusedBorderColor: |
| 67 return kFocusedBorderColor; | 56 return kFocusedBorderColor; |
| 68 case kColorId_UnfocusedBorderColor: | 57 case kColorId_UnfocusedBorderColor: |
| 69 return kUnfocusedBorderColor; | 58 return kUnfocusedBorderColor; |
| 70 | 59 |
| 71 // MenuItem | 60 // MenuItem |
| 72 case kColorId_FocusedMenuItemBackgroundColor: | 61 case kColorId_FocusedMenuItemBackgroundColor: |
| 73 return kFocusedMenuItemBackgroundColor; | 62 return kFocusedMenuItemBackgroundColor; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 92 case kColorId_ButtonHoverColor: | 81 case kColorId_ButtonHoverColor: |
| 93 return kButtonHoverColor; | 82 return kButtonHoverColor; |
| 94 | 83 |
| 95 default: | 84 default: |
| 96 NOTREACHED() << "Invalid color_id: " << color_id; | 85 NOTREACHED() << "Invalid color_id: " << color_id; |
| 97 break; | 86 break; |
| 98 } | 87 } |
| 99 return kInvalidColorIdColor; | 88 return kInvalidColorIdColor; |
| 100 } | 89 } |
| 101 | 90 |
| 102 NativeThemeGtk::NativeThemeGtk() { | 91 NativeThemeCast::NativeThemeCast() { |
| 103 } | 92 } |
| 104 | 93 |
| 105 NativeThemeGtk::~NativeThemeGtk() { | 94 NativeThemeCast::~NativeThemeCast() { |
| 106 } | 95 } |
| 107 | 96 |
| 108 } // namespace ui | 97 } // namespace ui |
| OLD | NEW |