summaryrefslogtreecommitdiffstats
path: root/ui/gfx/blit.cc
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 16:16:02 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 16:16:02 +0000
commitf2d4c672b6d6b80e376cff979b1ec28864b73fb6 (patch)
tree679a4a8178438947f2775a6d1ba5540be99ce00c /ui/gfx/blit.cc
parent49578ea329dae7f711ca1cde1ecade01e19a4f1b (diff)
downloadchromium_src-f2d4c672b6d6b80e376cff979b1ec28864b73fb6.zip
chromium_src-f2d4c672b6d6b80e376cff979b1ec28864b73fb6.tar.gz
chromium_src-f2d4c672b6d6b80e376cff979b1ec28864b73fb6.tar.bz2
Revert 86625 - 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 TBR=twiz@chromium.org Review URL: http://codereview.chromium.org/6987019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86629 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/blit.cc')
-rw-r--r--ui/gfx/blit.cc25
1 files changed, 13 insertions, 12 deletions
diff --git a/ui/gfx/blit.cc b/ui/gfx/blit.cc
index a9eeef8..76411a3 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 = skia::GetTopDevice(canvas)->accessBitmap(false);
+ const SkBitmap& bitmap = canvas.getTopPlatformDevice().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(skia::BeginPlatformPaint(dst_canvas), dst_rect,
+ BlitContextToContext(dst_canvas->beginPlatformPaint(), dst_rect,
src_context, src_origin);
- skia::EndPlatformPaint(dst_canvas);
+ dst_canvas->endPlatformPaint();
}
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,
- skia::BeginPlatformPaint(src_canvas), src_origin);
- skia::EndPlatformPaint(src_canvas);
+ src_canvas->beginPlatformPaint(), src_origin);
+ src_canvas->endPlatformPaint();
}
void BlitCanvasToCanvas(skia::PlatformCanvas *dst_canvas,
const Rect& dst_rect,
skia::PlatformCanvas *src_canvas,
const Point& src_origin) {
- BlitContextToContext(skia::BeginPlatformPaint(dst_canvas), dst_rect,
- skia::BeginPlatformPaint(src_canvas), src_origin);
- skia::EndPlatformPaint(src_canvas);
- skia::EndPlatformPaint(dst_canvas);
+ BlitContextToContext(dst_canvas->beginPlatformPaint(), dst_rect,
+ src_canvas->beginPlatformPaint(), src_origin);
+ src_canvas->endPlatformPaint();
+ dst_canvas->endPlatformPaint();
}
#if defined(OS_WIN)
@@ -125,12 +125,13 @@ void ScrollCanvas(skia::PlatformCanvas* canvas,
const gfx::Rect& clip,
const gfx::Point& amount) {
DCHECK(!HasClipOrTransform(*canvas)); // Don't support special stuff.
- skia::ScopedPlatformPaint scoped_platform_paint(canvas);
- HDC hdc = scoped_platform_paint.GetPlatformSurface();
+ HDC hdc = canvas->beginPlatformPaint();
RECT damaged_rect;
RECT r = clip.ToRECT();
ScrollDC(hdc, amount.x(), amount.y(), NULL, &r, NULL, &damaged_rect);
+
+ canvas->endPlatformPaint();
}
#elif defined(OS_POSIX)
@@ -143,7 +144,7 @@ void ScrollCanvas(skia::PlatformCanvas* canvas,
const gfx::Point& amount) {
DCHECK(!HasClipOrTransform(*canvas)); // Don't support special stuff.
SkBitmap& bitmap = const_cast<SkBitmap&>(
- skia::GetTopDevice(*canvas)->accessBitmap(true));
+ canvas->getTopPlatformDevice().accessBitmap(true));
SkAutoLockPixels lock(bitmap);
// We expect all coords to be inside the canvas, so clip here.