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

Unified Diff: chrome/browser/ui/views/theme_helpers.cc

Issue 7019013: Removal of dependencies on PlatformDevice classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Syncing merge conflicts. Created 9 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/theme_helpers.cc
===================================================================
--- chrome/browser/ui/views/theme_helpers.cc (revision 86706)
+++ chrome/browser/ui/views/theme_helpers.cc (working copy)
@@ -9,7 +9,6 @@
#include <atltheme.h>
#include "base/logging.h"
-#include "skia/ext/bitmap_platform_device_win.h"
#include "third_party/skia/include/effects/SkGradientShader.h"
#include "ui/gfx/canvas_skia.h"
@@ -32,10 +31,10 @@
// On Windows XP+, if using a Theme, we can ask the theme to render the
// gradient for us.
if (!theme.IsThemeNull()) {
- HDC dc = canvas.beginPlatformPaint();
+ skia::ScopedPlatformPaint scoped_platform_paint(&canvas);
+ HDC dc = scoped_platform_paint.GetPlatformSurface();
RECT rect = { 0, 0, width, 1 };
theme.DrawThemeBackground(dc, 0, 0, &rect, NULL);
- canvas.endPlatformPaint();
} else {
// On Windows 2000 or Windows XP+ with the Classic theme selected, we need
// to build our own gradient using system colors.
@@ -64,11 +63,12 @@
// Extract the color values from the selected pixels
// The | in the following operations forces the alpha to 0xFF. This is
// needed as windows sets the alpha to 0 when it renders.
- skia::BitmapPlatformDevice& device =
- static_cast<skia::BitmapPlatformDevice&>(
- canvas.getTopPlatformDevice());
- *c1 = 0xFF000000 | device.getColorAt(x1, 0);
- *c2 = 0xFF000000 | device.getColorAt(x2, 0);
+ SkDevice* device = skia::GetTopDevice(canvas);
+ const SkBitmap& bitmap = device->accessBitmap(false);
+ SkAutoLockPixels lock(bitmap);
+
+ *c1 = 0xFF000000 | bitmap.getColor(x1, 0);
+ *c2 = 0xFF000000 | bitmap.getColor(x2, 0);
}
void GetDarkLineColor(SkColor* dark_color) {
« no previous file with comments | « chrome/browser/ui/views/tabs/native_view_photobooth_win.cc ('k') | chrome/renderer/chrome_render_view_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698