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

Side by Side Diff: ui/base/native_theme/native_theme_base.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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/base/native_theme/native_theme_aura.cc ('k') | ui/base/native_theme/native_theme_base.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef UI_BASE_NATIVE_THEME_NATIVE_THEME_BASE_H_
6 #define UI_BASE_NATIVE_THEME_NATIVE_THEME_BASE_H_
7 #pragma once
8
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11 #include "skia/ext/platform_canvas.h"
12 #include "ui/base/native_theme/native_theme.h"
13
14 namespace gfx {
15 class Rect;
16 class Size;
17 }
18
19 namespace ui {
20
21 // Theme support for non-Windows toolkits.
22 class NativeThemeBase : public NativeTheme {
23 public:
24 // NativeTheme implementation:
25 virtual gfx::Size GetPartSize(Part part,
26 State state,
27 const ExtraParams& extra) const OVERRIDE;
28 virtual void Paint(SkCanvas* canvas,
29 Part part,
30 State state,
31 const gfx::Rect& rect,
32 const ExtraParams& extra) const OVERRIDE;
33
34 protected:
35 NativeThemeBase();
36 virtual ~NativeThemeBase();
37
38 // Draw the arrow. Used by scrollbar and inner spin button.
39 virtual void PaintArrowButton(
40 SkCanvas* gc,
41 const gfx::Rect& rect,
42 Part direction,
43 State state) const;
44 // Paint the scrollbar track. Done before the thumb so that it can contain
45 // alpha.
46 virtual void PaintScrollbarTrack(
47 SkCanvas* canvas,
48 Part part,
49 State state,
50 const ScrollbarTrackExtraParams& extra_params,
51 const gfx::Rect& rect) const;
52 // Draw the scrollbar thumb over the track.
53 virtual void PaintScrollbarThumb(
54 SkCanvas* canvas,
55 Part part,
56 State state,
57 const gfx::Rect& rect) const;
58
59 virtual void PaintCheckbox(
60 SkCanvas* canvas,
61 State state,
62 const gfx::Rect& rect,
63 const ButtonExtraParams& button) const;
64
65 virtual void PaintRadio(
66 SkCanvas* canvas,
67 State state,
68 const gfx::Rect& rect,
69 const ButtonExtraParams& button) const;
70
71 virtual void PaintButton(
72 SkCanvas* canvas,
73 State state,
74 const gfx::Rect& rect,
75 const ButtonExtraParams& button) const;
76
77 virtual void PaintTextField(
78 SkCanvas* canvas,
79 State state,
80 const gfx::Rect& rect,
81 const TextFieldExtraParams& text) const;
82
83 virtual void PaintMenuList(
84 SkCanvas* canvas,
85 State state,
86 const gfx::Rect& rect,
87 const MenuListExtraParams& menu_list) const;
88
89 virtual void PaintMenuPopupBackground(SkCanvas* canvas,
90 const gfx::Size& size) const;
91
92 virtual void PaintMenuItemBackground(
93 SkCanvas* canvas,
94 State state,
95 const gfx::Rect& rect,
96 const MenuListExtraParams& menu_list) const;
97
98 virtual void PaintSliderTrack(
99 SkCanvas* canvas,
100 State state,
101 const gfx::Rect& rect,
102 const SliderExtraParams& slider) const;
103
104 virtual void PaintSliderThumb(
105 SkCanvas* canvas,
106 State state,
107 const gfx::Rect& rect,
108 const SliderExtraParams& slider) const;
109
110 virtual void PaintInnerSpinButton(
111 SkCanvas* canvas,
112 State state,
113 const gfx::Rect& rect,
114 const InnerSpinButtonExtraParams& spin_button) const;
115
116 virtual void PaintProgressBar(
117 SkCanvas* canvas,
118 State state,
119 const gfx::Rect& rect,
120 const ProgressBarExtraParams& progress_bar) const;
121
122 protected:
123 void set_scrollbar_button_length(unsigned int length) {
124 scrollbar_button_length_ = length;
125 }
126
127 bool IntersectsClipRectInt(SkCanvas* canvas,
128 int x, int y, int w, int h) const;
129
130 void DrawBitmapInt(SkCanvas* canvas, const SkBitmap& bitmap,
131 int src_x, int src_y, int src_w, int src_h,
132 int dest_x, int dest_y, int dest_w, int dest_h) const;
133
134 void DrawTiledImage(SkCanvas* canvas,
135 const SkBitmap& bitmap,
136 int src_x, int src_y,
137 double tile_scale_x, double tile_scale_y,
138 int dest_x, int dest_y, int w, int h) const;
139
140 SkColor SaturateAndBrighten(SkScalar* hsv,
141 SkScalar saturate_amount,
142 SkScalar brighten_amount) const;
143
144 private:
145 void DrawVertLine(SkCanvas* canvas,
146 int x,
147 int y1,
148 int y2,
149 const SkPaint& paint) const;
150 void DrawHorizLine(SkCanvas* canvas,
151 int x1,
152 int x2,
153 int y,
154 const SkPaint& paint) const;
155 void DrawBox(SkCanvas* canvas,
156 const gfx::Rect& rect,
157 const SkPaint& paint) const;
158 SkScalar Clamp(SkScalar value,
159 SkScalar min,
160 SkScalar max) const;
161 SkColor OutlineColor(SkScalar* hsv1, SkScalar* hsv2) const;
162
163 unsigned int scrollbar_width_;
164 unsigned int scrollbar_button_length_;
165
166 DISALLOW_COPY_AND_ASSIGN(NativeThemeBase);
167 };
168
169 } // namespace ui
170
171 #endif // UI_BASE_NATIVE_THEME_NATIVE_THEME_BASE_H_
OLDNEW
« no previous file with comments | « ui/base/native_theme/native_theme_aura.cc ('k') | ui/base/native_theme/native_theme_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698