impl getROPixels for gpu SkImage
BUG=skia:
R=jvanverth@google.com
Review URL: https://codereview.chromium.org/150513005
git-svn-id: http://skia.googlecode.com/svn/trunk@13352 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/benchmain.cpp b/bench/benchmain.cpp
index 49ef00d..13241e9 100644
--- a/bench/benchmain.cpp
+++ b/bench/benchmain.cpp
@@ -154,7 +154,7 @@
SkString path = SkOSPath::SkPathJoin(dir, filename.c_str());
::remove(path.c_str());
- SkFILEWStream stream(filename.c_str());
+ SkFILEWStream stream(path.c_str());
stream.write(data->data(), data->size());
}
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index ab0a523..0d8ddaa 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -23,10 +23,7 @@
virtual void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) SK_OVERRIDE;
virtual void onDrawRectToRect(SkCanvas*, const SkRect* src, const SkRect& dst, const SkPaint*) SK_OVERRIDE;
virtual GrTexture* onGetTexture() SK_OVERRIDE;
- virtual bool getROPixels(SkBitmap*) const SK_OVERRIDE {
- // TODO
- return false;
- }
+ virtual bool getROPixels(SkBitmap*) const SK_OVERRIDE;
GrTexture* getTexture() { return fBitmap.getTexture(); }
@@ -61,6 +58,10 @@
return fBitmap.getTexture();
}
+bool SkImage_Gpu::getROPixels(SkBitmap* dst) const {
+ return fBitmap.copyTo(dst, SkBitmap::kARGB_8888_Config);
+}
+
///////////////////////////////////////////////////////////////////////////////
SkImage* SkImage::NewTexture(const SkBitmap& bitmap) {