Chromium Code Reviews| Index: src/core/SkPaintPriv.h |
| diff --git a/src/core/SkPaintPriv.h b/src/core/SkPaintPriv.h |
| index be441b8f7225f2e07caa0e021a95735a22a1bf7e..391d2c2ca7ee6ed6ec34bb6a5ffc800afcdc4f9d 100644 |
| --- a/src/core/SkPaintPriv.h |
| +++ b/src/core/SkPaintPriv.h |
| @@ -14,34 +14,34 @@ class SkBitmap; |
| class SkImage; |
| class SkPaint; |
| -enum SkPaintBitmapOpacity { |
| - // No content replaces the paint's color |
| - kNoBitmap_SkPaintBitmapOpacity = 0, |
| - // The color replacement is known to be opaque |
| - kOpaque_SkPaintBitmapOpacity = 1, |
| - // We have no information about the color or it is transparent |
| - kUnknown_SkPaintBitmapOpacity = 2 |
| -}; |
| +class SkPaintPriv { |
| +public: |
| + enum ShaderOverrideOpacity { |
| + kNone_ShaderOverrideOpacity, //!< there is no overriding shader (bitmap or image) |
| + kOpaque_ShaderOverrideOpacity, //!< the overriding shader is opaque |
|
robertphillips
2015/07/15 15:53:51
kNotOpaque -> kUnknownOpacity ?
reed1
2015/07/15 18:03:03
Hmm, I deliberately changed that 'cause it felt co
|
| + kNotOpaque_ShaderOverrideOpacity, //!< the overriding shader may not be opaque |
| + }; |
| + |
| + /** |
|
robertphillips
2015/07/15 15:53:51
space between 'with' and 'this' ?
reed1
2015/07/15 18:03:03
Done.
|
| + * Returns true if drawing withthis paint (or NULL) will ovewrite all affected pixels. |
|
robertphillips
2015/07/15 15:53:51
// The 'overrideOpacity' parameter allows the call
reed1
2015/07/15 18:03:03
Done.
|
| + * |
| + * Note: returns conservative true, meaning it may return false even though the paint might |
| + * in fact overwrite its pixels. |
| + */ |
| + static bool Overwrites(const SkPaint* paint, |
| + ShaderOverrideOpacity = kNone_ShaderOverrideOpacity); |
| -/** Returns true if draw calls that use the paint will completely occlude |
| - canvas contents that are covered by the draw. |
| - @param paint The paint to be analyzed, NULL is equivalent to |
| - the default paint. |
| - @param contentType The type of the content that will be drawn, |
| - kNoBitmap_SkPaintBitmapOpacity if there is no content in adition to the paint. |
| - @return true if paint is opaque |
| -*/ |
| -bool isPaintOpaque(const SkPaint* paint, SkPaintBitmapOpacity contentType); |
| - |
| -/** Returns true if draw calls that use the paint will completely occlude |
| - canvas contents that are covered by the draw. |
| - @param paint The paint to be analyzed, NULL is equivalent to |
| - the default paint. |
| - @param bmpReplacesShader a bitmap to be used in place of the paint's |
| - shader. |
| - @return true if paint is opaque |
| -*/ |
| -bool isPaintOpaque(const SkPaint* paint, const SkBitmap* bmpReplacesShader = NULL); |
| -bool isPaintOpaque(const SkPaint* paint, const SkImage* image); |
| + /** |
| + * Returns true if drawing this bitmap with this paint (or NULL) will ovewrite all affected |
| + * pixels. |
| + */ |
| + static bool Overwrites(const SkPaint* paint, const SkBitmap&); |
| + |
| + /** |
| + * Returns true if drawing this image with this paint (or NULL) will ovewrite all affected |
| + * pixels. |
| + */ |
|
robertphillips
2015/07/15 15:53:51
Why not a 'const SkImage&' ?
I looks like the imag
reed1
2015/07/15 18:03:03
True, but this is consistent with all the rest of
|
| + static bool Overwrites(const SkPaint* paint, const SkImage*); |
| +}; |
| #endif |