Index: src/core/SkPaintPriv.h |
diff --git a/src/core/SkPaintPriv.h b/src/core/SkPaintPriv.h |
index 38c9063e5665b0601b5221910246f653a06712f3..88fc4fc3494ca1aed8d0eee6d71ea362bf2da50d 100644 |
--- a/src/core/SkPaintPriv.h |
+++ b/src/core/SkPaintPriv.h |
@@ -12,6 +12,26 @@ class SkBitmap; |
class SkPaint; |
#include "SkTypes.h" |
+ |
+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 |
+}; |
+ |
+/** 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 |