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

Unified Diff: src/core/SkPaintPriv.h

Issue 663233002: More genericity: overload isPaintOpaque(SkPaint, SkBitmap) (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rename enum Created 6 years, 2 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') | no next file with comments »
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 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 {
reed1 2014/10/21 19:44:05 The comments here seem to focus in on "color", but
Rémi Piotaix 2014/10/21 20:01:32 Yes. We need to have this parameter because, is so
+ // No content replaces the paint's color
reed1 2014/10/21 19:44:05 why are these explicitly numbered? In general we d
Rémi Piotaix 2014/10/21 20:01:32 Yes, i forgot to clean it :s Ack
+ kNoBitmap_SkPaintBitmapOpacity = 0,
reed1 2014/10/21 19:44:05 Hmmm, kNoBitmap? I definitely find kTransparent_ v
Rémi Piotaix 2014/10/21 20:01:32 The kNoBitmap is because it happens that the isPai
+ // 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
« no previous file with comments | « no previous file | src/core/SkPaintPriv.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698