OLD | NEW |
1 // Copyright (c) 2011 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 // A wrapper class for working with custom XP/Vista themes provided in | 5 // A wrapper class for working with custom XP/Vista themes provided in |
6 // uxtheme.dll. This is a singleton class that can be grabbed using | 6 // uxtheme.dll. This is a singleton class that can be grabbed using |
7 // NativeThemeWin::instance(). | 7 // NativeThemeWin::instance(). |
8 // For more information on visual style parts and states, see: | 8 // For more information on visual style parts and states, see: |
9 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/plat
form/commctls/userex/topics/partsandstates.asp | 9 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/plat
form/commctls/userex/topics/partsandstates.asp |
10 | 10 |
11 #ifndef UI_GFX_NATIVE_THEME_WIN_H_ | 11 #ifndef UI_GFX_NATIVE_THEME_WIN_H_ |
12 #define UI_GFX_NATIVE_THEME_WIN_H_ | 12 #define UI_GFX_NATIVE_THEME_WIN_H_ |
13 #pragma once | 13 #pragma once |
14 | 14 |
| 15 #include <windows.h> |
| 16 #include <uxtheme.h> |
| 17 |
| 18 #include "base/basictypes.h" |
| 19 #include "third_party/skia/include/core/SkColor.h" |
15 #include "ui/gfx/native_theme.h" | 20 #include "ui/gfx/native_theme.h" |
16 #include "ui/gfx/size.h" | 21 #include "ui/gfx/size.h" |
17 #include <windows.h> | |
18 #include <uxtheme.h> | |
19 #include "base/basictypes.h" | |
20 #include "third_party/skia/include/core/SkColor.h" | |
21 | 22 |
22 class SkCanvas; | 23 class SkCanvas; |
23 | 24 |
24 namespace gfx { | 25 namespace gfx { |
25 | 26 |
26 // Windows implementation of native theme class. | 27 // Windows implementation of native theme class. |
27 // | 28 // |
28 // At the moment, this class in in transition from an older API that consists | 29 // At the moment, this class in in transition from an older API that consists |
29 // of several PaintXXX methods to an API, inherited from the NativeTheme base | 30 // of several PaintXXX methods to an API, inherited from the NativeTheme base |
30 // class, that consists of a single Paint() method with a argument to indicate | 31 // class, that consists of a single Paint() method with a argument to indicate |
31 // what kind of part to paint. | 32 // what kind of part to paint. |
32 class NativeThemeWin : public NativeTheme { | 33 class UI_API NativeThemeWin : public NativeTheme { |
33 public: | 34 public: |
34 enum ThemeName { | 35 enum ThemeName { |
35 BUTTON, | 36 BUTTON, |
36 LIST, | 37 LIST, |
37 MENU, | 38 MENU, |
38 MENULIST, | 39 MENULIST, |
39 SCROLLBAR, | 40 SCROLLBAR, |
40 STATUS, | 41 STATUS, |
41 TAB, | 42 TAB, |
42 TEXTFIELD, | 43 TEXTFIELD, |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 | 320 |
320 // A cache of open theme handles. | 321 // A cache of open theme handles. |
321 mutable HANDLE theme_handles_[LAST]; | 322 mutable HANDLE theme_handles_[LAST]; |
322 | 323 |
323 DISALLOW_COPY_AND_ASSIGN(NativeThemeWin); | 324 DISALLOW_COPY_AND_ASSIGN(NativeThemeWin); |
324 }; | 325 }; |
325 | 326 |
326 } // namespace gfx | 327 } // namespace gfx |
327 | 328 |
328 #endif // UI_GFX_NATIVE_THEME_WIN_H_ | 329 #endif // UI_GFX_NATIVE_THEME_WIN_H_ |
OLD | NEW |