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

Side by Side Diff: ui/gfx/native_theme_base.h

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

Powered by Google App Engine
This is Rietveld 408576698