| Index: src/image/SkImage_Gpu.h
|
| diff --git a/src/image/SkImage_Gpu.h b/src/image/SkImage_Gpu.h
|
| index 7b38e60ea348056e4208de9b1603ad775d2d0204..972cd3c2c224e8eaada1d24df6e6090661126400 100644
|
| --- a/src/image/SkImage_Gpu.h
|
| +++ b/src/image/SkImage_Gpu.h
|
| @@ -19,32 +19,38 @@ class SkImage_Gpu : public SkImage_Base {
|
| public:
|
| SK_DECLARE_INST_COUNT(SkImage_Gpu)
|
|
|
| - SkImage_Gpu(const SkBitmap&, int sampleCountForNewSurfaces, SkSurface::Budgeted);
|
| -
|
| - SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) const override;
|
| - GrTexture* onGetTexture() const override;
|
| - bool getROPixels(SkBitmap*) const override;
|
| -
|
| - GrTexture* getTexture() const { return fBitmap.getTexture(); }
|
| -
|
| - SkShader* onNewShader(SkShader::TileMode,
|
| - SkShader::TileMode,
|
| - const SkMatrix* localMatrix) const override;
|
| -
|
| - bool isOpaque() const override;
|
| + /**
|
| + * An "image" can be a subset/window into a larger texture, so we explicit take the
|
| + * width and height.
|
| + */
|
| + SkImage_Gpu(int w, int h, SkAlphaType, GrTexture*, int sampleCountForNewSurfaces,
|
| + SkSurface::Budgeted);
|
|
|
| void applyBudgetDecision() const {
|
| + GrTexture* tex = this->getTexture();
|
| + SkASSERT(tex);
|
| if (fBudgeted) {
|
| - fBitmap.getTexture()->resourcePriv().makeBudgeted();
|
| + tex->resourcePriv().makeBudgeted();
|
| } else {
|
| - fBitmap.getTexture()->resourcePriv().makeUnbudgeted();
|
| + tex->resourcePriv().makeUnbudgeted();
|
| }
|
| }
|
|
|
| + bool getROPixels(SkBitmap*) const override;
|
| + GrTexture* onGetTexture() const override { return fTexture; }
|
| + SkShader* onNewShader(SkShader::TileMode,
|
| + SkShader::TileMode,
|
| + const SkMatrix* localMatrix) const override;
|
| + bool isOpaque() const override;
|
| + SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) const override;
|
| + bool onReadPixels(const SkImageInfo&, void* dstPixels, size_t dstRowBytes,
|
| + int srcX, int srcY) const override;
|
| +
|
| private:
|
| - SkBitmap fBitmap;
|
| - const int fSampleCountForNewSurfaces; // 0 if we don't know
|
| - SkSurface::Budgeted fBudgeted;
|
| + SkAutoTUnref<GrTexture> fTexture;
|
| + const int fSampleCountForNewSurfaces; // 0 if we don't know
|
| + const SkAlphaType fAlphaType;
|
| + SkSurface::Budgeted fBudgeted;
|
|
|
| typedef SkImage_Base INHERITED;
|
| };
|
|
|