diff options
author | John Reck <jreck@google.com> | 2012-08-03 16:00:32 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2012-08-06 17:46:09 -0700 |
commit | 3718b58e4da76b7025aa5316a51264c5e38f2569 (patch) | |
tree | 862c59605fa3e2bd61ae279930f1d6cf70edb1f3 /Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp | |
parent | 6228f1617d7525d64a23edd3b497791c6a06e842 (diff) | |
download | external_webkit-3718b58e4da76b7025aa5316a51264c5e38f2569.zip external_webkit-3718b58e4da76b7025aa5316a51264c5e38f2569.tar.gz external_webkit-3718b58e4da76b7025aa5316a51264c5e38f2569.tar.bz2 |
Remove usages of getCanvas
Everything goes through either PlatformGraphicsContext or recordingCanvas()
Change-Id: I375a4294d2e8d4b467b70c6b8a7f0b96f402f252
Diffstat (limited to 'Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp b/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp index e56f424..f36200d 100644 --- a/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp @@ -33,6 +33,7 @@ #include "NotImplemented.h" #include "PlatformBridge.h" #include "PlatformGraphicsContext.h" +#include "PlatformGraphicsContextSkia.h" #include "SkBitmapRef.h" #include "SkCanvas.h" #include "SkColorPriv.h" @@ -41,12 +42,21 @@ #include "SkImageEncoder.h" #include "SkStream.h" #include "SkUnPreMultiply.h" -#include "android_graphics.h" using namespace std; namespace WebCore { +SkCanvas* imageBufferCanvas(const ImageBuffer* buffer) +{ + // We know that our PlatformGraphicsContext is a PlatformGraphicsContextSkia + // because that is what we create in GraphicsContext::createOffscreenContext + if (!buffer || !buffer->context()) + return 0; + PlatformGraphicsContext* pc = buffer->context()->platformContext(); + return static_cast<PlatformGraphicsContextSkia*>(pc)->canvas(); +} + ImageBufferData::ImageBufferData(const IntSize&) { } @@ -82,7 +92,7 @@ PassRefPtr<Image> ImageBuffer::copyImage() const { ASSERT(context()); - SkCanvas* canvas = context()->platformContext()->getCanvas(); + SkCanvas* canvas = imageBufferCanvas(this); if (!canvas) return 0; @@ -123,7 +133,7 @@ PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect) return 0; } - const SkBitmap& src = android_gc2canvas(gc)->getDevice()->accessBitmap(false); + const SkBitmap& src = imageBufferCanvas(this)->getDevice()->accessBitmap(false); SkAutoLockPixels alp(src); if (!src.getPixels()) { return 0; @@ -185,7 +195,7 @@ void ImageBuffer::putUnmultipliedImageData(ByteArray* source, const IntSize& sou return; } - const SkBitmap& dst = android_gc2canvas(gc)->getDevice()->accessBitmap(true); + const SkBitmap& dst = imageBufferCanvas(this)->getDevice()->accessBitmap(true); SkAutoLockPixels alp(dst); if (!dst.getPixels()) { return; @@ -240,7 +250,7 @@ String ImageBuffer::toDataURL(const String&, const double*) const { // Encode the image into a vector. SkDynamicMemoryWStream pngStream; - const SkBitmap& dst = android_gc2canvas(context())->getDevice()->accessBitmap(true); + const SkBitmap& dst = imageBufferCanvas(this)->getDevice()->accessBitmap(true); SkImageEncoder::EncodeStream(&pngStream, dst, SkImageEncoder::kPNG_Type, 100); // Convert it into base64. |