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 |