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

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

Issue 143953007: Changes look for scrollbars on windows (2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 11 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/native_theme/native_theme_aurawin.cc ('k') | ui/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
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_BASE_H_ 5 #ifndef UI_NATIVE_THEME_NATIVE_THEME_BASE_H_
6 #define UI_NATIVE_THEME_NATIVE_THEME_BASE_H_ 6 #define UI_NATIVE_THEME_NATIVE_THEME_BASE_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h"
10 #include "skia/ext/platform_canvas.h" 11 #include "skia/ext/platform_canvas.h"
11 #include "ui/native_theme/native_theme.h" 12 #include "ui/native_theme/native_theme.h"
12 13
13 namespace gfx { 14 namespace gfx {
15 class Canvas;
14 class ImageSkia; 16 class ImageSkia;
15 class Rect; 17 class Rect;
16 class Size; 18 class Size;
17 } 19 }
18 20
19 namespace ui { 21 namespace ui {
20 22
21 // Theme support for non-Windows toolkits. 23 // Theme support for non-Windows toolkits.
22 class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme { 24 class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme {
23 public: 25 public:
24 // NativeTheme implementation: 26 // NativeTheme implementation:
25 virtual gfx::Size GetPartSize(Part part, 27 virtual gfx::Size GetPartSize(Part part,
26 State state, 28 State state,
27 const ExtraParams& extra) const OVERRIDE; 29 const ExtraParams& extra) const OVERRIDE;
28 virtual void Paint(SkCanvas* canvas, 30 virtual void Paint(SkCanvas* canvas,
29 Part part, 31 Part part,
30 State state, 32 State state,
31 const gfx::Rect& rect, 33 const gfx::Rect& rect,
32 const ExtraParams& extra) const OVERRIDE; 34 const ExtraParams& extra) const OVERRIDE;
33 35
34 protected: 36 protected:
35 NativeThemeBase(); 37 NativeThemeBase();
36 virtual ~NativeThemeBase(); 38 virtual ~NativeThemeBase();
37 39
40 // Creates a gfx::Canvas wrapping an SkCanvas.
41 static scoped_ptr<gfx::Canvas> CreateCanvas(SkCanvas* sk_canvas);
42
38 // Draw the arrow. Used by scrollbar and inner spin button. 43 // Draw the arrow. Used by scrollbar and inner spin button.
39 virtual void PaintArrowButton( 44 virtual void PaintArrowButton(
40 SkCanvas* gc, 45 SkCanvas* gc,
41 const gfx::Rect& rect, 46 const gfx::Rect& rect,
42 Part direction, 47 Part direction,
43 State state) const; 48 State state) const;
44 // Paint the scrollbar track. Done before the thumb so that it can contain 49 // Paint the scrollbar track. Done before the thumb so that it can contain
45 // alpha. 50 // alpha.
46 virtual void PaintScrollbarTrack( 51 virtual void PaintScrollbarTrack(
47 SkCanvas* canvas, 52 SkCanvas* canvas,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 State state, 119 State state,
115 const gfx::Rect& rect, 120 const gfx::Rect& rect,
116 const InnerSpinButtonExtraParams& spin_button) const; 121 const InnerSpinButtonExtraParams& spin_button) const;
117 122
118 virtual void PaintProgressBar( 123 virtual void PaintProgressBar(
119 SkCanvas* canvas, 124 SkCanvas* canvas,
120 State state, 125 State state,
121 const gfx::Rect& rect, 126 const gfx::Rect& rect,
122 const ProgressBarExtraParams& progress_bar) const; 127 const ProgressBarExtraParams& progress_bar) const;
123 128
124 protected:
125 void set_scrollbar_button_length(unsigned int length) { 129 void set_scrollbar_button_length(unsigned int length) {
126 scrollbar_button_length_ = length; 130 scrollbar_button_length_ = length;
127 } 131 }
128 132
129 bool IntersectsClipRectInt(SkCanvas* canvas, 133 bool IntersectsClipRectInt(SkCanvas* canvas,
130 int x, int y, int w, int h) const; 134 int x, int y, int w, int h) const;
131 135
132 void DrawImageInt(SkCanvas* canvas, const gfx::ImageSkia& image, 136 void DrawImageInt(SkCanvas* canvas, const gfx::ImageSkia& image,
133 int src_x, int src_y, int src_w, int src_h, 137 int src_x, int src_y, int src_w, int src_h,
134 int dest_x, int dest_y, int dest_w, int dest_h) const; 138 int dest_x, int dest_y, int dest_w, int dest_h) const;
135 139
136 void DrawTiledImage(SkCanvas* canvas, 140 void DrawTiledImage(SkCanvas* canvas,
137 const gfx::ImageSkia& image, 141 const gfx::ImageSkia& image,
138 int src_x, int src_y, 142 int src_x, int src_y,
139 float tile_scale_x, float tile_scale_y, 143 float tile_scale_x, float tile_scale_y,
140 int dest_x, int dest_y, int w, int h) const; 144 int dest_x, int dest_y, int w, int h) const;
141 145
142 SkColor SaturateAndBrighten(SkScalar* hsv, 146 SkColor SaturateAndBrighten(SkScalar* hsv,
143 SkScalar saturate_amount, 147 SkScalar saturate_amount,
144 SkScalar brighten_amount) const; 148 SkScalar brighten_amount) const;
149
150 // Paints the arrow used on the scrollbar and spinner.
151 void PaintArrow(SkCanvas* canvas,
152 const gfx::Rect& rect,
153 Part direction,
154 SkColor color) const;
155
156 // Returns the color used to draw the arrow.
157 SkColor GetArrowColor(State state) const;
158
145 private: 159 private:
146 void DrawVertLine(SkCanvas* canvas, 160 void DrawVertLine(SkCanvas* canvas,
147 int x, 161 int x,
148 int y1, 162 int y1,
149 int y2, 163 int y2,
150 const SkPaint& paint) const; 164 const SkPaint& paint) const;
151 void DrawHorizLine(SkCanvas* canvas, 165 void DrawHorizLine(SkCanvas* canvas,
152 int x1, 166 int x1,
153 int x2, 167 int x2,
154 int y, 168 int y,
(...skipping 16 matching lines...) Expand all
171 185
172 unsigned int scrollbar_width_; 186 unsigned int scrollbar_width_;
173 unsigned int scrollbar_button_length_; 187 unsigned int scrollbar_button_length_;
174 188
175 DISALLOW_COPY_AND_ASSIGN(NativeThemeBase); 189 DISALLOW_COPY_AND_ASSIGN(NativeThemeBase);
176 }; 190 };
177 191
178 } // namespace ui 192 } // namespace ui
179 193
180 #endif // UI_NATIVE_THEME_NATIVE_THEME_BASE_H_ 194 #endif // UI_NATIVE_THEME_NATIVE_THEME_BASE_H_
OLDNEW
« no previous file with comments | « ui/native_theme/native_theme_aurawin.cc ('k') | ui/native_theme/native_theme_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698