aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2018-06-12 16:30:29 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-12 21:30:24 +0000
commitcee46e5e99d52a162ec19d7567aeb39083b75ec4 (patch)
tree6bd1efddd26dbf1a3192007dd2f5c8c39ae1d65b /include/core
parent75e6490a2952849d72ecb1e59c97e36db8908884 (diff)
Remove SkBool8.
This typedef was created at a time when compilers often used sizeof(int) storage for a bool. This is no longer the case and in all compilers currently supported 'sizeof(bool) == 1'. Removing this also revealed one field which was actually not a bool but a tri-state enum. Change-Id: I9240ba457335ee3eff094d6d3f2520c1adf16960 Reviewed-on: https://skia-review.googlesource.com/134420 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'include/core')
-rw-r--r--include/core/SkPath.h20
-rw-r--r--include/core/SkTypes.h5
2 files changed, 14 insertions, 11 deletions
diff --git a/include/core/SkPath.h b/include/core/SkPath.h
index 2846d9f467..9906827ba8 100644
--- a/include/core/SkPath.h
+++ b/include/core/SkPath.h
@@ -1414,10 +1414,18 @@ public:
const SkScalar* fConicWeights;
SkPoint fMoveTo;
SkPoint fLastPt;
- SkBool8 fForceClose;
- SkBool8 fNeedClose;
- SkBool8 fCloseLine;
- SkBool8 fSegmentState;
+ bool fForceClose;
+ bool fNeedClose;
+ bool fCloseLine;
+ enum SegmentState : uint8_t {
+ /** The current contour is empty. Starting processing or have just closed a contour. */
+ kEmptyContour_SegmentState,
+ /** Have seen a move, but nothing else. */
+ kAfterMove_SegmentState,
+ /** Have seen a primitive but not yet closed the path. Also the initial state. */
+ kAfterPrimitive_SegmentState
+ };
+ SegmentState fSegmentState;
inline const SkPoint& cons_moveTo();
Verb autoClose(SkPoint pts[2]);
@@ -1602,8 +1610,8 @@ private:
uint8_t fFillType;
mutable SkAtomic<Convexity, sk_memory_order_relaxed> fConvexity;
mutable SkAtomic<uint8_t, sk_memory_order_relaxed> fFirstDirection;// SkPathPriv::FirstDirection
- SkBool8 fIsVolatile;
- SkBool8 fIsBadForDAA = false;
+ bool fIsVolatile;
+ bool fIsBadForDAA = false;
/** Resets all fields other than fPathRef to their initial 'empty' values.
* Assumes the caller has already emptied fPathRef.
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index 3ef236e7f4..9e557ef3e7 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -102,11 +102,6 @@ typedef int S16CPU;
*/
typedef unsigned U16CPU;
-/**
- * Meant to be a small version of bool, for storage purposes. Will be 0 or 1
- */
-typedef uint8_t SkBool8;
-
/** Returns 0 or 1 based on the condition
*/
#define SkToBool(cond) ((cond) != 0)