Index: include/gpu/GrTextureProvider.h |
diff --git a/include/gpu/GrTextureProvider.h b/include/gpu/GrTextureProvider.h |
index 44c8cbc6578424aaed6a0e3422d9e4915597ee6e..5635583d80fef393a746ae75f32edc0d2a3c8025 100644 |
--- a/include/gpu/GrTextureProvider.h |
+++ b/include/gpu/GrTextureProvider.h |
@@ -9,6 +9,7 @@ |
#define GrTextureProvider_DEFINED |
#include "GrTexture.h" |
+#include "SkImageFilter.h" |
class SK_API GrTextureProvider { |
public: |
@@ -69,6 +70,31 @@ public: |
*/ |
GrTexture* createApproxTexture(const GrSurfaceDesc&); |
+ enum SizeConstraint { |
+ kExact_SizeConstraint, |
+ kApprox_SizeConstraint, |
+ }; |
+ |
+ GrTexture* createTexture(const GrSurfaceDesc& desc, SizeConstraint constraint) { |
+ switch (constraint) { |
+ case kExact_SizeConstraint: |
+ return this->createTexture(desc, true); |
+ case kApprox_SizeConstraint: |
+ return this->createApproxTexture(desc); |
+ } |
+ sk_throw(); |
+ return nullptr; |
+ } |
+ |
+ static SizeConstraint FromImageFilter(SkImageFilter::SizeConstraint constraint) { |
+ if (SkImageFilter::kExact_SizeConstraint == constraint) { |
+ return kExact_SizeConstraint; |
+ } else { |
+ SkASSERT(SkImageFilter::kApprox_SizeConstraint == constraint); |
+ return kApprox_SizeConstraint; |
+ } |
+ } |
+ |
/** Legacy function that no longer should be used. */ |
enum ScratchTexMatch { |
kExact_ScratchTexMatch, |