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

Side by Side Diff: include/utils/SkPathUtils.h

Issue 16829003: Adding my Bitmap2Path sample for 1on1 meeting. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Closing the book on PathUtils, waiting for plumbing to patch it in with a real font. Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * CAUTION: EXPERIMENTAL CODE
3 *
4 * This code is not to be used and will not be supported
5 * if it fails on you. DO NOT USE!
6 *
7 */
8
9 #ifndef SkPathUtils_DEFINED
10 #define SKPathUtils_DEFINED
11
12 #include "SkPath.h"
13
14 /*
15 * The following methods return the boundary path given a 1-bit bitmap, specifie d
16 * by width/height and stride. The bits are interpreted as 1 being "in" the path ,
17 * and 0 being "out". The bits are interpreted as MSB on the left, and LSB on th e right.
18 */
19
20 class SK_API SkPathUtils {
21 public:
22 /**
23 This variation iterates the binary data sequentially (as in scanline fash ion)
24 and will add each run of 1's to the path as a rectangular path. Upon pars ing
25 all binary data the path is simplified using the PathOps::Simplify() meth od.
26 */
27 static void BitsToPath_Path(SkPath* path, const char* bitmap,
28 int h, int w, int stride);
29
30 /**
31 This variation utilizes the SkRegion class to generate paths, adding
32 each run of 1's to the SkRegion as an SkIRect. Upon parsing the entirety
33 of the binary the SkRegion is converted to a Path via getBoundaryPath().
34 */
35 static void BitsToPath_Region(SkPath* path, const char* bitmap,
36 int h, int w, int stride);
37
38 /**
39 This variation is an implementation of a component labeling algorithm
40 that utilizes contour tracing by Chang et al (2003). The algorithm examin es
41 pixels in scanline order until it reaches a contour, traces the contour
42 and labels the on pixels as part of a connected component. Each contour i s
43 then encoded as a path by utilizing the path moveTo() and lineTo() functi ons.
44 */
45 static void BitsToPath_Contour(SkPath* path, const char* bitmap,
46 int h, int w, int stride);
47
48
49 };
50
51 #endif
OLDNEW
« no previous file with comments | « gyp/utils.gyp ('k') | samplecode/SamplePathUtils.cpp » ('j') | src/utils/SkPathUtils.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698