Index: src/image/SkImage_Gpu.h |
diff --git a/src/image/SkImage_Gpu.h b/src/image/SkImage_Gpu.h |
index 7b38e60ea348056e4208de9b1603ad775d2d0204..c5f07423536f18944eea34f20d621bdf2f3b9adc 100644 |
--- a/src/image/SkImage_Gpu.h |
+++ b/src/image/SkImage_Gpu.h |
@@ -19,32 +19,30 @@ class SkImage_Gpu : public SkImage_Base { |
public: |
SK_DECLARE_INST_COUNT(SkImage_Gpu) |
robertphillips
2015/05/07 16:50:04
Maybe a comment as to why 'w' & 'h' can differ fro
reed1
2015/05/07 17:49:12
Done.
|
- 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; |
+ SkImage_Gpu(int w, int h, GrTexture* tex, 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; |
+ |
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 |
+ SkSurface::Budgeted fBudgeted; |
typedef SkImage_Base INHERITED; |
}; |