| OLD | NEW |
| 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_WIN_H_ | 5 #ifndef UI_NATIVE_THEME_NATIVE_THEME_WIN_H_ |
| 6 #define UI_NATIVE_THEME_NATIVE_THEME_WIN_H_ | 6 #define UI_NATIVE_THEME_NATIVE_THEME_WIN_H_ |
| 7 | 7 |
| 8 // A wrapper class for working with custom XP/Vista themes provided in | 8 // A wrapper class for working with custom XP/Vista themes provided in |
| 9 // uxtheme.dll. This is a singleton class that can be grabbed using | 9 // uxtheme.dll. This is a singleton class that can be grabbed using |
| 10 // NativeThemeWin::instance(). | 10 // NativeThemeWin::instance(). |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 void OnSysColorChange() override; | 123 void OnSysColorChange() override; |
| 124 | 124 |
| 125 // Update the locally cached set of system colors. | 125 // Update the locally cached set of system colors. |
| 126 void UpdateSystemColors(); | 126 void UpdateSystemColors(); |
| 127 | 127 |
| 128 // Painting functions that paint to SkCanvas. | 128 // Painting functions that paint to SkCanvas. |
| 129 void PaintMenuSeparator(SkCanvas* canvas, const gfx::Rect& rect) const; | 129 void PaintMenuSeparator(SkCanvas* canvas, const gfx::Rect& rect) const; |
| 130 void PaintMenuGutter(SkCanvas* canvas, const gfx::Rect& rect) const; | 130 void PaintMenuGutter(SkCanvas* canvas, const gfx::Rect& rect) const; |
| 131 void PaintMenuBackground(SkCanvas* canvas, const gfx::Rect& rect) const; | 131 void PaintMenuBackground(SkCanvas* canvas, const gfx::Rect& rect) const; |
| 132 | 132 |
| 133 // Paint directly to canvas' HDC. | |
| 134 void PaintDirect(SkCanvas* canvas, | |
| 135 Part part, | |
| 136 State state, | |
| 137 const gfx::Rect& rect, | |
| 138 const ExtraParams& extra) const; | |
| 139 | |
| 140 // Create a temporary HDC, paint to that, clean up the alpha values in the | |
| 141 // temporary HDC, and then blit the result to canvas. This is to work around | |
| 142 // the fact that Windows XP and some classic themes give bogus alpha values. | |
| 143 void PaintIndirect(SkCanvas* canvas, | |
| 144 Part part, | |
| 145 State state, | |
| 146 const gfx::Rect& rect, | |
| 147 const ExtraParams& extra) const; | |
| 148 | |
| 149 HRESULT GetThemePartSize(ThemeName themeName, | 133 HRESULT GetThemePartSize(ThemeName themeName, |
| 150 HDC hdc, | 134 HDC hdc, |
| 151 int part_id, | 135 int part_id, |
| 152 int state_id, | 136 int state_id, |
| 153 RECT* rect, | 137 RECT* rect, |
| 154 int ts, | 138 int ts, |
| 155 SIZE* size) const; | 139 SIZE* size) const; |
| 156 | 140 |
| 157 HRESULT PaintButton(HDC hdc, | 141 HRESULT PaintButton(HDC hdc, |
| 158 State state, | 142 State state, |
| 159 const ButtonExtraParams& extra, | 143 const ButtonExtraParams& extra, |
| 160 int part_id, | 144 int part_id, |
| 161 int state_id, | 145 int state_id, |
| 162 RECT* rect) const; | 146 RECT* rect) const; |
| 163 | 147 |
| 164 HRESULT PaintMenuSeparator(HDC hdc, | |
| 165 const gfx::Rect& rect) const; | |
| 166 | |
| 167 HRESULT PaintMenuGutter(HDC hdc, const gfx::Rect& rect) const; | |
| 168 | |
| 169 // |arrow_direction| determines whether the arrow is pointing to the left or | 148 // |arrow_direction| determines whether the arrow is pointing to the left or |
| 170 // to the right. In RTL locales, sub-menus open from right to left and | 149 // to the right. In RTL locales, sub-menus open from right to left and |
| 171 // therefore the menu arrow should point to the left and not to the right. | 150 // therefore the menu arrow should point to the left and not to the right. |
| 172 HRESULT PaintMenuArrow(HDC hdc, | 151 HRESULT PaintMenuArrow(HDC hdc, |
| 173 State state, | 152 State state, |
| 174 const gfx::Rect& rect, | 153 const gfx::Rect& rect, |
| 175 const MenuArrowExtraParams& extra) const; | 154 const MenuArrowExtraParams& extra) const; |
| 176 | 155 |
| 177 HRESULT PaintMenuBackground(HDC hdc, const gfx::Rect& rect) const; | |
| 178 | |
| 179 HRESULT PaintMenuCheck(HDC hdc, | 156 HRESULT PaintMenuCheck(HDC hdc, |
| 180 State state, | 157 State state, |
| 181 const gfx::Rect& rect, | 158 const gfx::Rect& rect, |
| 182 const MenuCheckExtraParams& extra) const; | 159 const MenuCheckExtraParams& extra) const; |
| 183 | 160 |
| 184 HRESULT PaintMenuCheckBackground(HDC hdc, | 161 HRESULT PaintMenuCheckBackground(HDC hdc, |
| 185 State state, | 162 State state, |
| 186 const gfx::Rect& rect) const; | 163 const gfx::Rect& rect) const; |
| 187 | 164 |
| 188 HRESULT PaintMenuItemBackground(HDC hdc, | |
| 189 State state, | |
| 190 const gfx::Rect& rect, | |
| 191 const MenuItemExtraParams& extra) const; | |
| 192 | |
| 193 HRESULT PaintPushButton(HDC hdc, | 165 HRESULT PaintPushButton(HDC hdc, |
| 194 Part part, | 166 Part part, |
| 195 State state, | 167 State state, |
| 196 const gfx::Rect& rect, | 168 const gfx::Rect& rect, |
| 197 const ButtonExtraParams& extra) const; | 169 const ButtonExtraParams& extra) const; |
| 198 | 170 |
| 199 HRESULT PaintRadioButton(HDC hdc, | 171 HRESULT PaintRadioButton(HDC hdc, |
| 200 Part part, | 172 Part part, |
| 201 State state, | 173 State state, |
| 202 const gfx::Rect& rect, | 174 const gfx::Rect& rect, |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 | 341 |
| 370 // Is |is_using_high_contrast_| valid? | 342 // Is |is_using_high_contrast_| valid? |
| 371 mutable bool is_using_high_contrast_valid_; | 343 mutable bool is_using_high_contrast_valid_; |
| 372 | 344 |
| 373 DISALLOW_COPY_AND_ASSIGN(NativeThemeWin); | 345 DISALLOW_COPY_AND_ASSIGN(NativeThemeWin); |
| 374 }; | 346 }; |
| 375 | 347 |
| 376 } // namespace ui | 348 } // namespace ui |
| 377 | 349 |
| 378 #endif // UI_NATIVE_THEME_NATIVE_THEME_WIN_H_ | 350 #endif // UI_NATIVE_THEME_NATIVE_THEME_WIN_H_ |
| OLD | NEW |