summaryrefslogtreecommitdiffstats
path: root/ui/gfx/blit.cc
diff options
context:
space:
mode:
authortwiz@chromium.org <twiz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 14:28:35 +0000
committertwiz@chromium.org <twiz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 14:28:35 +0000
commit62f2e80c79f7d660d7871b14287cef9082fcc32f (patch)
tree310edb9b2c0aa8409defc654979719cb4d8a4059 /ui/gfx/blit.cc
parentc89b244483969aa8859a1d4bb3396f6ceb54f875 (diff)
downloadchromium_src-62f2e80c79f7d660d7871b14287cef9082fcc32f.zip
chromium_src-62f2e80c79f7d660d7871b14287cef9082fcc32f.tar.gz
chromium_src-62f2e80c79f7d660d7871b14287cef9082fcc32f.tar.bz2
This change implements a first pass in the effort to remove the dependency of PlatformDevice within Chrome. The Skia library now provides multiple back-ends for the SkDevice class, so PlatformDevice's inheritance of SkDevice, and the assumption of instances of PlatformDevice limits the use of these new back-ends.
A new set of helper functions is provided for the PlatformDevice entry points. Upon construction of a PlatformDevice, a pointer to the interface is cached in the parent SkDevice's SkMetaData. The new helper functions forward calls to the interface cached in the metadata. BUG=NONE TEST=NONE Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=86625 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=86625 Review URL: http://codereview.chromium.org/7019013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86823 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/blit.cc')
-rw-r--r--ui/gfx/blit.cc25
1 files changed, 12 insertions, 13 deletions
diff --git a/ui/gfx/blit.cc b/ui/gfx/blit.cc
index 76411a3..a9eeef8 100644
--- a/ui/gfx/blit.cc
+++ b/ui/gfx/blit.cc
@@ -35,7 +35,7 @@ bool HasClipOrTransform(const skia::PlatformCanvas& canvas) {
// Now we know the clip is a regular rectangle, make sure it covers the
// entire canvas.
- const SkBitmap& bitmap = canvas.getTopPlatformDevice().accessBitmap(false);
+ const SkBitmap& bitmap = skia::GetTopDevice(canvas)->accessBitmap(false);
const SkIRect& clip_bounds = clip_region.getBounds();
if (clip_bounds.fLeft != 0 || clip_bounds.fTop != 0 ||
clip_bounds.fRight != bitmap.width() ||
@@ -95,9 +95,9 @@ void BlitContextToCanvas(skia::PlatformCanvas *dst_canvas,
const Rect& dst_rect,
NativeDrawingContext src_context,
const Point& src_origin) {
- BlitContextToContext(dst_canvas->beginPlatformPaint(), dst_rect,
+ BlitContextToContext(skia::BeginPlatformPaint(dst_canvas), dst_rect,
src_context, src_origin);
- dst_canvas->endPlatformPaint();
+ skia::EndPlatformPaint(dst_canvas);
}
void BlitCanvasToContext(NativeDrawingContext dst_context,
@@ -105,18 +105,18 @@ void BlitCanvasToContext(NativeDrawingContext dst_context,
skia::PlatformCanvas *src_canvas,
const Point& src_origin) {
BlitContextToContext(dst_context, dst_rect,
- src_canvas->beginPlatformPaint(), src_origin);
- src_canvas->endPlatformPaint();
+ skia::BeginPlatformPaint(src_canvas), src_origin);
+ skia::EndPlatformPaint(src_canvas);
}
void BlitCanvasToCanvas(skia::PlatformCanvas *dst_canvas,
const Rect& dst_rect,
skia::PlatformCanvas *src_canvas,
const Point& src_origin) {
- BlitContextToContext(dst_canvas->beginPlatformPaint(), dst_rect,
- src_canvas->beginPlatformPaint(), src_origin);
- src_canvas->endPlatformPaint();
- dst_canvas->endPlatformPaint();
+ BlitContextToContext(skia::BeginPlatformPaint(dst_canvas), dst_rect,
+ skia::BeginPlatformPaint(src_canvas), src_origin);
+ skia::EndPlatformPaint(src_canvas);
+ skia::EndPlatformPaint(dst_canvas);
}
#if defined(OS_WIN)
@@ -125,13 +125,12 @@ void ScrollCanvas(skia::PlatformCanvas* canvas,
const gfx::Rect& clip,
const gfx::Point& amount) {
DCHECK(!HasClipOrTransform(*canvas)); // Don't support special stuff.
- HDC hdc = canvas->beginPlatformPaint();
+ skia::ScopedPlatformPaint scoped_platform_paint(canvas);
+ HDC hdc = scoped_platform_paint.GetPlatformSurface();
RECT damaged_rect;
RECT r = clip.ToRECT();
ScrollDC(hdc, amount.x(), amount.y(), NULL, &r, NULL, &damaged_rect);
-
- canvas->endPlatformPaint();
}
#elif defined(OS_POSIX)
@@ -144,7 +143,7 @@ void ScrollCanvas(skia::PlatformCanvas* canvas,
const gfx::Point& amount) {
DCHECK(!HasClipOrTransform(*canvas)); // Don't support special stuff.
SkBitmap& bitmap = const_cast<SkBitmap&>(
- canvas->getTopPlatformDevice().accessBitmap(true));
+ skia::GetTopDevice(*canvas)->accessBitmap(true));
SkAutoLockPixels lock(bitmap);
// We expect all coords to be inside the canvas, so clip here.