Index: ui/base/native_theme/native_theme_win.h |
diff --git a/ui/base/native_theme/native_theme_win.h b/ui/base/native_theme/native_theme_win.h |
index 260de8d08e0b5264850274c9c92c9bb863b6cba1..dbc950b5589d1ab2eee9af5820301731f6d573cb 100644 |
--- a/ui/base/native_theme/native_theme_win.h |
+++ b/ui/base/native_theme/native_theme_win.h |
@@ -112,11 +112,21 @@ class UI_EXPORT NativeThemeWin : public NativeTheme { |
const ExtraParams& extra) const OVERRIDE; |
virtual SkColor GetSystemColor(ColorId color_id) const OVERRIDE; |
- void PaintToNonPlatformCanvas(SkCanvas* canvas, |
- Part part, |
- State state, |
- const gfx::Rect& rect, |
- const ExtraParams& extra) const; |
+ // Paint directly to canvas' HDC. |
+ void PaintDirect(SkCanvas* canvas, |
+ Part part, |
+ State state, |
+ const gfx::Rect& rect, |
+ const ExtraParams& extra) const; |
+ |
+ // Create a temporary HDC, paint to that, clean up the alpha values in the |
+ // temporary HDC, and then blit the result to canvas. This is to work around |
+ // the fact that Windows XP and some classic themes give bogus alpha values. |
+ void PaintIndirect(SkCanvas* canvas, |
+ Part part, |
+ State state, |
+ const gfx::Rect& rect, |
+ const ExtraParams& extra) const; |
HRESULT GetThemePartSize(ThemeName themeName, |
HDC hdc, |