| Index: src/image/SkImage_Gpu.cpp
|
| diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
|
| index de49d1e33973f6f3e3dbd3f33e291fe4213ae931..b337c101c7208084c870181b70ed909924b1bca0 100644
|
| --- a/src/image/SkImage_Gpu.cpp
|
| +++ b/src/image/SkImage_Gpu.cpp
|
| @@ -9,6 +9,7 @@
|
| #include "SkImagePriv.h"
|
| #include "SkBitmap.h"
|
| #include "SkCanvas.h"
|
| +#include "SkSurface.h"
|
| #include "GrContext.h"
|
| #include "GrTexture.h"
|
|
|
| @@ -19,19 +20,20 @@ public:
|
| explicit SkImage_Gpu(const SkBitmap&);
|
| virtual ~SkImage_Gpu();
|
|
|
| - virtual void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) const SK_OVERRIDE;
|
| - virtual void onDrawRect(SkCanvas*, const SkRect* src, const SkRect& dst,
|
| - const SkPaint*) const SK_OVERRIDE;
|
| - virtual GrTexture* onGetTexture() const SK_OVERRIDE;
|
| - virtual bool getROPixels(SkBitmap*) const SK_OVERRIDE;
|
| + void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) const SK_OVERRIDE;
|
| + void onDrawRect(SkCanvas*, const SkRect* src, const SkRect& dst,
|
| + const SkPaint*) const SK_OVERRIDE;
|
| + SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) const SK_OVERRIDE;
|
| + GrTexture* onGetTexture() const SK_OVERRIDE;
|
| + bool getROPixels(SkBitmap*) const SK_OVERRIDE;
|
|
|
| GrTexture* getTexture() const { return fBitmap.getTexture(); }
|
|
|
| - virtual SkShader* onNewShader(SkShader::TileMode,
|
| + SkShader* onNewShader(SkShader::TileMode,
|
| SkShader::TileMode,
|
| const SkMatrix* localMatrix) const SK_OVERRIDE;
|
|
|
| - virtual bool isOpaque() const SK_OVERRIDE;
|
| + bool isOpaque() const SK_OVERRIDE;
|
|
|
| private:
|
| SkBitmap fBitmap;
|
| @@ -66,6 +68,12 @@ void SkImage_Gpu::onDrawRect(SkCanvas* canvas, const SkRect* src, const SkRect&
|
| canvas->drawBitmapRectToRect(fBitmap, src, dst, paint);
|
| }
|
|
|
| +SkSurface* SkImage_Gpu::onNewSurface(const SkImageInfo& info, const SkSurfaceProps& props) const {
|
| + GrContext* ctx = this->getTexture()->getContext();
|
| + const int sampleCount = 0; // TODO: extract this from this image...
|
| + return SkSurface::NewRenderTarget(ctx, info, sampleCount, &props);
|
| +}
|
| +
|
| GrTexture* SkImage_Gpu::onGetTexture() const {
|
| return fBitmap.getTexture();
|
| }
|
|
|