diff options
Diffstat (limited to 'src/gpu/SkGpuDevice.h')
-rw-r--r-- | src/gpu/SkGpuDevice.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/gpu/SkGpuDevice.h b/src/gpu/SkGpuDevice.h index 6c0288d4ae..bdbbbaf242 100644 --- a/src/gpu/SkGpuDevice.h +++ b/src/gpu/SkGpuDevice.h @@ -23,6 +23,8 @@ class GrAccelData; class GrTextureProducer; struct GrCachedLayer; +class SkSpecialImage; + /** * Subclass of SkBaseDevice, which directs all drawing to the GrGpu owned by the * canvas. @@ -118,8 +120,8 @@ public: const SkPaint&) override; void drawAtlas(const SkDraw&, const SkImage* atlas, const SkRSXform[], const SkRect[], const SkColor[], int count, SkXfermode::Mode, const SkPaint&) override; - virtual void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, - const SkPaint&) override; + void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, const SkPaint&) override; + void drawImage(const SkDraw&, const SkImage*, SkScalar x, SkScalar y, const SkPaint&) override; void drawImageRect(const SkDraw&, const SkImage*, const SkRect* src, const SkRect& dst, const SkPaint&, SkCanvas::SrcRectConstraint) override; @@ -129,6 +131,9 @@ public: void drawBitmapNine(const SkDraw& draw, const SkBitmap& bitmap, const SkIRect& center, const SkRect& dst, const SkPaint& paint) override; + void drawSpecial(const SkDraw& draw, SkSpecialImage*, + int left, int top, const SkPaint& paint); + void flush() override; void onAttachToCanvas(SkCanvas* canvas) override; @@ -214,6 +219,12 @@ private: bool bicubic, bool needsTextureDomain); + sk_sp<SkSpecialImage> filterTexture(const SkDraw&, + SkSpecialImage*, + int left, int top, + SkIPoint* offset, + const SkImageFilter* filter); + void drawTiledBitmap(const SkBitmap& bitmap, const SkMatrix& viewMatrix, const SkRect& srcRect, |