OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 GFX_NATIVE_THEME_LINUX_H_ | 5 #ifndef GFX_NATIVE_THEME_LINUX_H_ |
6 #define GFX_NATIVE_THEME_LINUX_H_ | 6 #define GFX_NATIVE_THEME_LINUX_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "skia/ext/platform_canvas.h" | 9 #include "skia/ext/platform_canvas.h" |
10 | 10 |
11 namespace skia { | 11 namespace skia { |
12 class PlatformCanvas; | 12 class PlatformCanvas; |
13 } | 13 } |
14 | 14 |
15 namespace gfx { | 15 namespace gfx { |
16 class Rect; | 16 class Rect; |
17 class Size; | 17 class Size; |
18 | 18 |
19 // Linux theming API. | 19 // Linux theming API. |
20 class NativeThemeLinux { | 20 class NativeThemeLinux { |
21 public: | 21 public: |
22 // Gets our singleton instance. | |
23 static NativeThemeLinux* instance(); | |
24 | |
25 // The part to be painted / sized. | 22 // The part to be painted / sized. |
26 enum Part { | 23 enum Part { |
27 kScrollbarDownArrow, | 24 kScrollbarDownArrow, |
28 kScrollbarLeftArrow, | 25 kScrollbarLeftArrow, |
29 kScrollbarRightArrow, | 26 kScrollbarRightArrow, |
30 kScrollbarUpArrow, | 27 kScrollbarUpArrow, |
31 kScrollbarHorizontalThumb, | 28 kScrollbarHorizontalThumb, |
32 kScrollbarVerticalThumb, | 29 kScrollbarVerticalThumb, |
33 kScrollbarHorizontalTrack, | 30 kScrollbarHorizontalTrack, |
34 kScrollbarVerticalTrack | 31 kScrollbarVerticalTrack |
(...skipping 12 matching lines...) Expand all Loading... |
47 int track_x; | 44 int track_x; |
48 int track_y; | 45 int track_y; |
49 int track_width; | 46 int track_width; |
50 int track_height; | 47 int track_height; |
51 }; | 48 }; |
52 | 49 |
53 union ExtraParams { | 50 union ExtraParams { |
54 ScrollbarTrackExtraParams scrollbar_track; | 51 ScrollbarTrackExtraParams scrollbar_track; |
55 }; | 52 }; |
56 | 53 |
| 54 // Gets our singleton instance. |
| 55 static NativeThemeLinux* instance(); |
| 56 |
57 // Return the size of the part. | 57 // Return the size of the part. |
58 virtual gfx::Size GetSize(Part part) const; | 58 virtual gfx::Size GetSize(Part part) const; |
59 // Paint the part to the canvas. | 59 // Paint the part to the canvas. |
60 virtual void Paint(skia::PlatformCanvas* canvas, | 60 virtual void Paint(skia::PlatformCanvas* canvas, |
61 Part part, | 61 Part part, |
62 State state, | 62 State state, |
63 const gfx::Rect& rect, | 63 const gfx::Rect& rect, |
64 const ExtraParams& extra); | 64 const ExtraParams& extra); |
65 // Supports theme specific colors. | 65 // Supports theme specific colors. |
66 void SetScrollbarColors(unsigned inactive_color, | 66 void SetScrollbarColors(unsigned inactive_color, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 static unsigned int thumb_inactive_color_; | 116 static unsigned int thumb_inactive_color_; |
117 static unsigned int thumb_active_color_; | 117 static unsigned int thumb_active_color_; |
118 static unsigned int track_color_; | 118 static unsigned int track_color_; |
119 | 119 |
120 DISALLOW_COPY_AND_ASSIGN(NativeThemeLinux); | 120 DISALLOW_COPY_AND_ASSIGN(NativeThemeLinux); |
121 }; | 121 }; |
122 | 122 |
123 } // namespace gfx | 123 } // namespace gfx |
124 | 124 |
125 #endif // GFX_NATIVE_THEME_LINUX_H_ | 125 #endif // GFX_NATIVE_THEME_LINUX_H_ |
OLD | NEW |