| Index: include/core/SkXfermode.h
|
| diff --git a/include/core/SkXfermode.h b/include/core/SkXfermode.h
|
| index f2d8d578659bc8838420913e34d96c4e94c82e75..11d39cabf797b0417a223141e7d71f3610cc4fc0 100644
|
| --- a/include/core/SkXfermode.h
|
| +++ b/include/core/SkXfermode.h
|
| @@ -193,37 +193,22 @@ public:
|
| */
|
| static bool IsOpaque(const SkXfermode* xfer, SrcColorOpacity opacityType);
|
|
|
| - /** Used to do in-shader blending between two colors computed in the shader via a
|
| - GrFragmentProcessor. The input to the returned FP is the src color. The dst color is
|
| - provided by the dst param which becomes a child FP of the returned FP. If the params are
|
| - null then this is just a query of whether the SkXfermode could support this functionality.
|
| - It is legal for the function to succeed but return a null output. This indicates that
|
| +#if SK_SUPPORT_GPU
|
| + /** Used by the SkXfermodeImageFilter to blend two colors via a GrFragmentProcessor.
|
| + The input to the returned FP is the src color. The dst color is
|
| + provided by the dst param which becomes a child FP of the returned FP.
|
| + It is legal for the function to return a null output. This indicates that
|
| the output of the blend is simply the src color.
|
| */
|
| - virtual bool asFragmentProcessor(const GrFragmentProcessor** output,
|
| - const GrFragmentProcessor* dst) const;
|
| -
|
| - /** A subclass may implement this factory function to work with the GPU backend. It is legal
|
| - to call this with xpf NULL to simply test the return value. If xpf is non-NULL then the
|
| - xfermode may optionally allocate a factory to return to the caller as *xpf. The caller
|
| - will install it and own a ref to it. Since the xfermode may or may not assign *xpf, the
|
| - caller should set *xpf to NULL beforehand. XferProcessors cannot use a background texture.
|
| - */
|
| - virtual bool asXPFactory(GrXPFactory** xpf) const;
|
| + virtual const GrFragmentProcessor* getFragmentProcessorForImageFilter(
|
| + const GrFragmentProcessor* dst) const;
|
|
|
| - /** Returns true if the xfermode can be expressed as an xfer processor factory (xpFactory).
|
| - This helper calls the asXPFactory() virtual. If the xfermode is NULL, it is treated as
|
| - kSrcOver_Mode. It is legal to call this with xpf param NULL to simply test the return value.
|
| + /** A subclass must implement this factory function to work with the GPU backend.
|
| + The xfermode will return a factory for which the caller will get a ref. It is up
|
| + to the caller to install it. XferProcessors cannot use a background texture.
|
| */
|
| - static inline bool AsXPFactory(SkXfermode* xfermode, GrXPFactory** xpf) {
|
| - if (nullptr == xfermode) {
|
| - if (xpf) {
|
| - *xpf = nullptr;
|
| - }
|
| - return true;
|
| - }
|
| - return xfermode->asXPFactory(xpf);
|
| - }
|
| + virtual GrXPFactory* asXPFactory() const;
|
| +#endif
|
|
|
| SK_TO_STRING_PUREVIRT()
|
| SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
|
|
|