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

Side by Side Diff: include/pathops/SkPathOps.h

Issue 14407006: path ops -- handle non-finite numbers (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #ifndef SkPathOps_DEFINED 7 #ifndef SkPathOps_DEFINED
8 #define SkPathOps_DEFINED 8 #define SkPathOps_DEFINED
9 9
10 class SkPath; 10 class SkPath;
11 11
12 // FIXME: move everything below into the SkPath class 12 // FIXME: move everything below into the SkPath class
13 /** 13 /**
14 * The logical operations that can be performed when combining two paths. 14 * The logical operations that can be performed when combining two paths.
15 */ 15 */
16 enum SkPathOp { 16 enum SkPathOp {
17 kDifference_PathOp, //!< subtract the op path from the first path 17 kDifference_PathOp, //!< subtract the op path from the first path
18 kIntersect_PathOp, //!< intersect the two paths 18 kIntersect_PathOp, //!< intersect the two paths
19 kUnion_PathOp, //!< union (inclusive-or) the two paths 19 kUnion_PathOp, //!< union (inclusive-or) the two paths
20 kXOR_PathOp, //!< exclusive-or the two paths 20 kXOR_PathOp, //!< exclusive-or the two paths
21 kReverseDifference_PathOp, //!< subtract the first path from the op path 21 kReverseDifference_PathOp, //!< subtract the first path from the op path
22 }; 22 };
23 23
24 /** 24 /** Set this path to the result of applying the Op to this path and the
25 * Set this path to the result of applying the Op to this path and the 25 specified path: this = (this op operand).
26 * specified path: this = (this op operand). The resulting path will be constr ucted 26 The resulting path will be constructed from non-overlapping contours.
27 * from non-overlapping contours. The curve order is reduced where possible so that cubics may 27 The curve order is reduced where possible so that cubics may be turned
28 * be turned into quadratics, and quadratics maybe turned into lines. 28 into quadratics, and quadratics maybe turned into lines.
29
30 Returns true if operation was able to produce a result;
31 otherwise, result is unmodified.
32
33 @param one The first operand (for difference, the minuend)
34 @param two The second operand (for difference, the subtrahend)
35 @param result The product of the operands. The result may be one of the
36 inputs.
37 @return True if operation succeeded.
29 */ 38 */
30 void Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result); 39 bool Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result);
31 40
32 /** 41 /** Set this path to a set of non-overlapping contours that describe the
33 * Set this path to a set of non-overlapping contours that describe the same 42 same area as the original path.
34 * area as the original path. The curve order is reduced where possible so tha t cubics may 43 The curve order is reduced where possible so that cubics may
35 * be turned into quadratics, and quadratics maybe turned into lines. 44 be turned into quadratics, and quadratics maybe turned into lines.
45
46 Returns true if operation was able to produce a result;
47 otherwise, result is unmodified.
48
49 @param path The path to simplify.
50 @param result The simplified path. The result may be the input.
51 @return True if simplification succeeded.
36 */ 52 */
37 void Simplify(const SkPath& path, SkPath* result); 53 bool Simplify(const SkPath& path, SkPath* result);
38 54
39 #endif 55 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698