Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Unified Diff: src/core/SkPaintPriv.h

Issue 1228853005: rename utility to see if a paint will overwrite its pixels (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/core/SkPaintPriv.cpp » ('j') | src/core/SkPaintPriv.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | src/core/SkPaintPriv.cpp » ('j') | src/core/SkPaintPriv.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698