summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-08-03 16:00:32 -0700
committerJohn Reck <jreck@google.com>2012-08-06 17:46:09 -0700
commit3718b58e4da76b7025aa5316a51264c5e38f2569 (patch)
tree862c59605fa3e2bd61ae279930f1d6cf70edb1f3 /Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp
parent6228f1617d7525d64a23edd3b497791c6a06e842 (diff)
downloadexternal_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.cpp20
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.