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-25 15:53:12 +0000
committertwiz@chromium.org <twiz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 15:53:12 +0000
commite414727ea30e03a5d4582bdbba42d67327605273 (patch)
tree58746c063aea418e36d5a618c67bdf1bec9e7409 /ui/gfx/blit.cc
parent33986d3ecde79d6a1bdf2b0edd17fc13bc2cc78b (diff)
downloadchromium_src-e414727ea30e03a5d4582bdbba42d67327605273.zip
chromium_src-e414727ea30e03a5d4582bdbba42d67327605273.tar.gz
chromium_src-e414727ea30e03a5d4582bdbba42d67327605273.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 Review URL: http://codereview.chromium.org/7019013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86625 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.