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

Unified Diff: ui/base/native_theme/native_theme.h

Issue 10387121: Revert 136996 - ui: Move NativeTheme files into ui/base/native_theme/ directory. (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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | ui/base/native_theme/native_theme.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/native_theme/native_theme.h
===================================================================
--- ui/base/native_theme/native_theme.h (revision 137002)
+++ ui/base/native_theme/native_theme.h (working copy)
@@ -1,273 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef UI_BASE_NATIVE_THEME_NATIVE_THEME_H_
-#define UI_BASE_NATIVE_THEME_NATIVE_THEME_H_
-#pragma once
-
-#include "third_party/skia/include/core/SkColor.h"
-#include "ui/base/ui_export.h"
-#include "ui/gfx/native_widget_types.h"
-
-class SkCanvas;
-
-namespace gfx {
-class Rect;
-class Size;
-}
-
-namespace ui {
-
-// This class supports drawing UI controls (like buttons, text fields, lists,
-// comboboxes, etc) that look like the native UI controls of the underlying
-// platform, such as Windows or Linux. It also supplies default colors for
-// dialog box backgrounds, etc., which are obtained from the system theme where
-// possible.
-//
-// The supported control types are listed in the Part enum. These parts can be
-// in any state given by the State enum, where the actual definition of the
-// state is part-specific. The supported colors are listed in the ColorId enum.
-//
-// Some parts require more information than simply the state in order to be
-// drawn correctly, and this information is given to the Paint() method via the
-// ExtraParams union. Each part that requires more information has its own
-// field in the union.
-//
-// NativeTheme also supports getting the default size of a given part with
-// the GetPartSize() method.
-class UI_EXPORT NativeTheme {
- public:
- // The part to be painted / sized.
- enum Part {
- kCheckbox,
- kInnerSpinButton,
- kMenuList,
- kMenuCheck,
- kMenuCheckBackground,
- kMenuPopupArrow,
- kMenuPopupBackground,
- kMenuPopupGutter,
- kMenuPopupSeparator,
- kMenuItemBackground,
- kProgressBar,
- kPushButton,
- kRadio,
-
- // The order of the arrow enums is important, do not change without also
- // changing the code in platform implementations.
- kScrollbarDownArrow,
- kScrollbarLeftArrow,
- kScrollbarRightArrow,
- kScrollbarUpArrow,
-
- kScrollbarHorizontalThumb,
- kScrollbarVerticalThumb,
- kScrollbarHorizontalTrack,
- kScrollbarVerticalTrack,
- kScrollbarHorizontalGripper,
- kScrollbarVerticalGripper,
- kSliderTrack,
- kSliderThumb,
- kTabPanelBackground,
- kTextField,
- kTrackbarThumb,
- kTrackbarTrack,
- kWindowResizeGripper,
- kMaxPart,
- };
-
- // The state of the part.
- enum State {
- kDisabled,
- kHovered,
- kNormal,
- kPressed,
- kMaxState,
- };
-
- // Each structure below holds extra information needed when painting a given
- // part.
-
- struct ButtonExtraParams {
- bool checked;
- bool indeterminate; // Whether the button state is indeterminate.
- bool is_default; // Whether the button is default button.
- bool has_border;
- int classic_state; // Used on Windows when uxtheme is not available.
- SkColor background_color;
- };
-
- struct InnerSpinButtonExtraParams {
- bool spin_up;
- bool read_only;
- int classic_state; // Used on Windows when uxtheme is not available.
- };
-
- struct MenuArrowExtraParams {
- bool pointing_right;
- // Used for the disabled state to indicate if the item is both disabled and
- // selected.
- bool is_selected;
- };
-
- struct MenuCheckExtraParams {
- bool is_radio;
- // Used for the disabled state to indicate if the item is both disabled and
- // selected.
- bool is_selected;
- };
-
- struct MenuItemExtraParams {
- bool is_selected;
- };
-
- struct MenuListExtraParams {
- bool has_border;
- bool has_border_radius;
- int arrow_x;
- int arrow_y;
- SkColor background_color;
- int classic_state; // Used on Windows when uxtheme is not available.
- };
-
- struct MenuSeparatorExtraParams {
- bool has_gutter;
- };
-
- struct ProgressBarExtraParams {
- double animated_seconds;
- bool determinate;
- int value_rect_x;
- int value_rect_y;
- int value_rect_width;
- int value_rect_height;
- };
-
- struct ScrollbarArrowExtraParams {
- bool is_hovering;
- };
-
- struct ScrollbarTrackExtraParams {
- bool is_upper;
- int track_x;
- int track_y;
- int track_width;
- int track_height;
- int classic_state; // Used on Windows when uxtheme is not available.
- };
-
- struct ScrollbarThumbExtraParams {
- bool is_hovering;
- };
-
- struct SliderExtraParams {
- bool vertical;
- bool in_drag;
- };
-
- struct TextFieldExtraParams {
- bool is_text_area;
- bool is_listbox;
- SkColor background_color;
- bool is_read_only;
- bool is_focused;
- bool fill_content_area;
- bool draw_edges;
- int classic_state; // Used on Windows when uxtheme is not available.
- };
-
- struct TrackbarExtraParams {
- bool vertical;
- int classic_state; // Used on Windows when uxtheme is not available.
- };
-
- union ExtraParams {
- ButtonExtraParams button;
- InnerSpinButtonExtraParams inner_spin;
- MenuArrowExtraParams menu_arrow;
- MenuCheckExtraParams menu_check;
- MenuItemExtraParams menu_item;
- MenuListExtraParams menu_list;
- MenuSeparatorExtraParams menu_separator;
- ProgressBarExtraParams progress_bar;
- ScrollbarArrowExtraParams scrollbar_arrow;
- ScrollbarTrackExtraParams scrollbar_track;
- ScrollbarThumbExtraParams scrollbar_thumb;
- SliderExtraParams slider;
- TextFieldExtraParams text_field;
- TrackbarExtraParams trackbar;
- };
-
- // Return the size of the part.
- virtual gfx::Size GetPartSize(Part part,
- State state,
- const ExtraParams& extra) const = 0;
-
- // Paint the part to the canvas.
- virtual void Paint(SkCanvas* canvas,
- Part part,
- State state,
- const gfx::Rect& rect,
- const ExtraParams& extra) const = 0;
-
- // Supports theme specific colors.
- void SetScrollbarColors(unsigned inactive_color,
- unsigned active_color,
- unsigned track_color) const;
-
- // Colors for GetSystemColor().
- enum ColorId {
- // Dialogs
- kColorId_DialogBackground,
- // FocusableBorder
- kColorId_FocusedBorderColor,
- kColorId_UnfocusedBorderColor,
- // TextButton
- kColorId_TextButtonBackgroundColor,
- kColorId_TextButtonEnabledColor,
- kColorId_TextButtonDisabledColor,
- kColorId_TextButtonHighlightColor,
- kColorId_TextButtonHoverColor,
- // MenuItem
- kColorId_EnabledMenuItemForegroundColor,
- kColorId_DisabledMenuItemForegroundColor,
- kColorId_FocusedMenuItemBackgroundColor,
- kColorId_MenuSeparatorColor,
- // Label
- kColorId_LabelEnabledColor,
- kColorId_LabelDisabledColor,
- kColorId_LabelBackgroundColor,
- // Textfield
- kColorId_TextfieldDefaultColor,
- kColorId_TextfieldDefaultBackground,
- kColorId_TextfieldSelectionColor,
- kColorId_TextfieldSelectionBackgroundFocused,
- kColorId_TextfieldSelectionBackgroundUnfocused,
- // TODO(benrg): move other hardcoded colors here.
- };
-
- // Return a color from the system theme.
- virtual SkColor GetSystemColor(ColorId color_id) const = 0;
-
- // Returns a shared instance of the native theme.
- // The returned object should not be deleted by the caller. This function
- // is not thread safe and should only be called from the UI thread.
- // Each port of NativeTheme should provide its own implementation of this
- // function, returning the port's subclass.
- static const NativeTheme* instance();
-
- protected:
- NativeTheme() {}
- virtual ~NativeTheme() {}
-
- static unsigned int thumb_inactive_color_;
- static unsigned int thumb_active_color_;
- static unsigned int track_color_;
-
- DISALLOW_COPY_AND_ASSIGN(NativeTheme);
-};
-
-} // namespace ui
-
-#endif // UI_BASE_NATIVE_THEME_NATIVE_THEME_H_
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | ui/base/native_theme/native_theme.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698