| OLD | NEW |
| 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 #ifndef UI_NATIVE_THEME_NATIVE_THEME_H_ | 5 #ifndef UI_NATIVE_THEME_NATIVE_THEME_H_ |
| 6 #define UI_NATIVE_THEME_NATIVE_THEME_H_ | 6 #define UI_NATIVE_THEME_NATIVE_THEME_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/observer_list.h" | 9 #include "base/observer_list.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 // ExtraParams union. Each part that requires more information has its own | 38 // ExtraParams union. Each part that requires more information has its own |
| 39 // field in the union. | 39 // field in the union. |
| 40 // | 40 // |
| 41 // NativeTheme also supports getting the default size of a given part with | 41 // NativeTheme also supports getting the default size of a given part with |
| 42 // the GetPartSize() method. | 42 // the GetPartSize() method. |
| 43 class NATIVE_THEME_EXPORT NativeTheme { | 43 class NATIVE_THEME_EXPORT NativeTheme { |
| 44 public: | 44 public: |
| 45 // The part to be painted / sized. | 45 // The part to be painted / sized. |
| 46 enum Part { | 46 enum Part { |
| 47 kCheckbox, | 47 kCheckbox, |
| 48 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
| 49 kFrameTopArea, |
| 50 #endif |
| 48 kInnerSpinButton, | 51 kInnerSpinButton, |
| 49 kMenuList, | 52 kMenuList, |
| 50 kMenuPopupBackground, | 53 kMenuPopupBackground, |
| 51 #if defined(OS_WIN) | 54 #if defined(OS_WIN) |
| 52 kMenuCheck, | 55 kMenuCheck, |
| 53 kMenuCheckBackground, | 56 kMenuCheckBackground, |
| 54 kMenuPopupArrow, | 57 kMenuPopupArrow, |
| 55 kMenuPopupGutter, | 58 kMenuPopupGutter, |
| 56 kMenuPopupSeparator, | 59 kMenuPopupSeparator, |
| 57 #endif | 60 #endif |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 struct ButtonExtraParams { | 105 struct ButtonExtraParams { |
| 103 bool checked; | 106 bool checked; |
| 104 bool indeterminate; // Whether the button state is indeterminate. | 107 bool indeterminate; // Whether the button state is indeterminate. |
| 105 bool is_default; // Whether the button is default button. | 108 bool is_default; // Whether the button is default button. |
| 106 bool is_focused; | 109 bool is_focused; |
| 107 bool has_border; | 110 bool has_border; |
| 108 int classic_state; // Used on Windows when uxtheme is not available. | 111 int classic_state; // Used on Windows when uxtheme is not available. |
| 109 SkColor background_color; | 112 SkColor background_color; |
| 110 }; | 113 }; |
| 111 | 114 |
| 115 struct FrameTopAreaExtraParams { |
| 116 // Distinguishes between active (foreground) and inactive |
| 117 // (background) window frame styles. |
| 118 bool is_active; |
| 119 bool incognito; |
| 120 // True when Chromium renders the titlebar. False when the window |
| 121 // manager renders the titlebar. |
| 122 bool use_custom_frame; |
| 123 // If the NativeTheme will paint a solid color, it should use |
| 124 // |default_background_color|. |
| 125 SkColor default_background_color; |
| 126 }; |
| 127 |
| 112 struct InnerSpinButtonExtraParams { | 128 struct InnerSpinButtonExtraParams { |
| 113 bool spin_up; | 129 bool spin_up; |
| 114 bool read_only; | 130 bool read_only; |
| 115 int classic_state; // Used on Windows when uxtheme is not available. | 131 int classic_state; // Used on Windows when uxtheme is not available. |
| 116 }; | 132 }; |
| 117 | 133 |
| 118 struct MenuArrowExtraParams { | 134 struct MenuArrowExtraParams { |
| 119 bool pointing_right; | 135 bool pointing_right; |
| 120 // Used for the disabled state to indicate if the item is both disabled and | 136 // Used for the disabled state to indicate if the item is both disabled and |
| 121 // selected. | 137 // selected. |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 struct TrackbarExtraParams { | 216 struct TrackbarExtraParams { |
| 201 bool vertical; | 217 bool vertical; |
| 202 int classic_state; // Used on Windows when uxtheme is not available. | 218 int classic_state; // Used on Windows when uxtheme is not available. |
| 203 }; | 219 }; |
| 204 | 220 |
| 205 union NATIVE_THEME_EXPORT ExtraParams { | 221 union NATIVE_THEME_EXPORT ExtraParams { |
| 206 ExtraParams(); | 222 ExtraParams(); |
| 207 ExtraParams(const ExtraParams& other); | 223 ExtraParams(const ExtraParams& other); |
| 208 | 224 |
| 209 ButtonExtraParams button; | 225 ButtonExtraParams button; |
| 226 FrameTopAreaExtraParams frame_top_area; |
| 210 InnerSpinButtonExtraParams inner_spin; | 227 InnerSpinButtonExtraParams inner_spin; |
| 211 MenuArrowExtraParams menu_arrow; | 228 MenuArrowExtraParams menu_arrow; |
| 212 MenuCheckExtraParams menu_check; | 229 MenuCheckExtraParams menu_check; |
| 213 MenuItemExtraParams menu_item; | 230 MenuItemExtraParams menu_item; |
| 214 MenuListExtraParams menu_list; | 231 MenuListExtraParams menu_list; |
| 215 MenuBackgroundExtraParams menu_background; | 232 MenuBackgroundExtraParams menu_background; |
| 216 ProgressBarExtraParams progress_bar; | 233 ProgressBarExtraParams progress_bar; |
| 217 ScrollbarArrowExtraParams scrollbar_arrow; | 234 ScrollbarArrowExtraParams scrollbar_arrow; |
| 218 ScrollbarTrackExtraParams scrollbar_track; | 235 ScrollbarTrackExtraParams scrollbar_track; |
| 219 ScrollbarThumbExtraParams scrollbar_thumb; | 236 ScrollbarThumbExtraParams scrollbar_thumb; |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 private: | 406 private: |
| 390 // Observers to notify when the native theme changes. | 407 // Observers to notify when the native theme changes. |
| 391 base::ObserverList<NativeThemeObserver> native_theme_observers_; | 408 base::ObserverList<NativeThemeObserver> native_theme_observers_; |
| 392 | 409 |
| 393 DISALLOW_COPY_AND_ASSIGN(NativeTheme); | 410 DISALLOW_COPY_AND_ASSIGN(NativeTheme); |
| 394 }; | 411 }; |
| 395 | 412 |
| 396 } // namespace ui | 413 } // namespace ui |
| 397 | 414 |
| 398 #endif // UI_NATIVE_THEME_NATIVE_THEME_H_ | 415 #endif // UI_NATIVE_THEME_NATIVE_THEME_H_ |
| OLD | NEW |