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

Side by Side Diff: src/image/SkImage_Base.h

Issue 1282363002: Use SkImageCacherator in SkImages (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: now with mutex safeness Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkImage_Base_DEFINED 8 #ifndef SkImage_Base_DEFINED
9 #define SkImage_Base_DEFINED 9 #define SkImage_Base_DEFINED
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 virtual SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) c onst = 0; 45 virtual SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) c onst = 0;
46 46
47 virtual const void* onPeekPixels(SkImageInfo*, size_t* /*rowBytes*/) const { 47 virtual const void* onPeekPixels(SkImageInfo*, size_t* /*rowBytes*/) const {
48 return NULL; 48 return NULL;
49 } 49 }
50 50
51 // Default impl calls onDraw 51 // Default impl calls onDraw
52 virtual bool onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size_ t dstRowBytes, 52 virtual bool onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size_ t dstRowBytes,
53 int srcX, int srcY) const; 53 int srcX, int srcY) const;
54 54
55 virtual GrTexture* getTexture() const { return NULL; } 55 virtual GrTexture* peekTexture() const { return NULL; }
56 56
57 // return a read-only copy of the pixels. We promise to not modify them, 57 // return a read-only copy of the pixels. We promise to not modify them,
58 // but only inspect them (or encode them). 58 // but only inspect them (or encode them).
59 virtual bool getROPixels(SkBitmap*) const { return false; } 59 virtual bool getROPixels(SkBitmap*) const { return false; }
60 60
61 virtual SkShader* onNewShader(SkShader::TileMode, 61 virtual SkShader* onNewShader(SkShader::TileMode,
62 SkShader::TileMode, 62 SkShader::TileMode,
63 const SkMatrix* localMatrix) const { return NU LL; } 63 const SkMatrix* localMatrix) const { return NU LL; }
64 64
65 // newWidth > 0, newHeight > 0, subset either NULL or a proper subset of thi s bounds 65 // newWidth > 0, newHeight > 0, subset either NULL or a proper subset of thi s bounds
66 virtual SkImage* onNewImage(int newWidth, int newHeight, const SkIRect* subs et, 66 virtual SkImage* onNewImage(int newWidth, int newHeight, const SkIRect* subs et,
67 SkFilterQuality) const; 67 SkFilterQuality) const;
68 virtual SkData* onRefEncoded() const { return NULL; } 68 virtual SkData* onRefEncoded() const { return NULL; }
69 69
70 virtual bool onAsLegacyBitmap(SkBitmap*, LegacyBitmapMode) const; 70 virtual bool onAsLegacyBitmap(SkBitmap*, LegacyBitmapMode) const;
71 71
72 virtual bool onIsLazyGenerated() const { return false; } 72 virtual bool onIsLazyGenerated() const { return false; }
73 73
74 // Caller must call unref when they are done.
75 virtual GrTexture* asTextureRef(GrContext*, SkImageUsageType) const { return nullptr; }
76
74 private: 77 private:
75 const SkSurfaceProps fProps; 78 const SkSurfaceProps fProps;
76 79
77 typedef SkImage INHERITED; 80 typedef SkImage INHERITED;
78 }; 81 };
79 82
80 static inline SkImage_Base* as_IB(SkImage* image) { 83 static inline SkImage_Base* as_IB(SkImage* image) {
81 return static_cast<SkImage_Base*>(image); 84 return static_cast<SkImage_Base*>(image);
82 } 85 }
83 86
84 static inline const SkImage_Base* as_IB(const SkImage* image) { 87 static inline const SkImage_Base* as_IB(const SkImage* image) {
85 return static_cast<const SkImage_Base*>(image); 88 return static_cast<const SkImage_Base*>(image);
86 } 89 }
87 90
88 #endif 91 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698