Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(840)

Unified Diff: src/gpu/SkGpuDevice.h

Issue 920513003: Make filters use SkImage instead of SkBitmap Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/SkGpuDevice.h
diff --git a/src/gpu/SkGpuDevice.h b/src/gpu/SkGpuDevice.h
index 7d5b01031e6fe1b63c0d1ee6fd9751cea2f9618a..c0ec56d592f7a079960e7121cb3a42ba704fd5ff 100644
--- a/src/gpu/SkGpuDevice.h
+++ b/src/gpu/SkGpuDevice.h
@@ -103,6 +103,8 @@ public:
SkCanvas::DrawBitmapRectFlags flags) SK_OVERRIDE;
virtual void drawSprite(const SkDraw&, const SkBitmap& bitmap,
int x, int y, const SkPaint& paint) SK_OVERRIDE;
+ virtual void drawSprite(const SkDraw&, const SkImage& image,
+ int x, int y, const SkPaint& paint) SK_OVERRIDE;
virtual void drawText(const SkDraw&, const void* text, size_t len,
SkScalar x, SkScalar y, const SkPaint&) SK_OVERRIDE;
virtual void drawPosText(const SkDraw&, const void* text, size_t len,
@@ -124,13 +126,13 @@ public:
const SkBitmap& onAccessBitmap() SK_OVERRIDE;
bool canHandleImageFilter(const SkImageFilter*) SK_OVERRIDE;
- virtual bool filterImage(const SkImageFilter*, const SkBitmap&,
+ virtual bool filterImage(const SkImageFilter*, const SkImage*,
const SkImageFilter::Context&,
- SkBitmap*, SkIPoint*) SK_OVERRIDE;
+ SkAutoTUnref<const SkImage>&, SkIPoint*) SK_OVERRIDE;
bool filterTexture(GrContext*, GrTexture*, const SkImageFilter*,
const SkImageFilter::Context&,
- SkBitmap* result, SkIPoint* offset);
+ SkAutoTUnref<const SkImage>& result, SkIPoint* offset);
protected:
bool onReadPixels(const SkImageInfo&, void*, size_t, int, int) SK_OVERRIDE;
@@ -183,6 +185,9 @@ private:
*/
bool prepareBackendRenderTarget(ModifyMode);
+ void internalDrawSprite(const SkDraw& draw, GrTexture* texture,
+ int left, int top, int width, int height, const SkPaint& paint);
+
/**
* Implementation for both drawBitmap and drawBitmapRect.
*/

Powered by Google App Engine
This is Rietveld 408576698