| Index: include/utils/SkPathUtils.h
|
| diff --git a/include/utils/SkPathUtils.h b/include/utils/SkPathUtils.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..80f4f6b85dc03fed4bc3f5a9f15770182fab1a60
|
| --- /dev/null
|
| +++ b/include/utils/SkPathUtils.h
|
| @@ -0,0 +1,40 @@
|
| +/*
|
| + * CAUTION: EXPERIMENTAL CODE
|
| + *
|
| + * This code is not to be used and will not be supported
|
| + * if it fails on you. DO NOT USE!
|
| + *
|
| + */
|
| +
|
| +#ifndef SkPathUtils_DEFINED
|
| +#define SKPathUtils_DEFINED
|
| +
|
| +#include "SkPath.h"
|
| +
|
| +/*
|
| + * The following methods return the boundary path given a 1-bit bitmap, specified
|
| + * by width/height and stride. The bits are interpreted as 1 being "in" the path,
|
| + * and 0 being "out". The bits are interpreted as MSB on the left, and LSB on the right.
|
| + */
|
| +
|
| +class SK_API SkPathUtils {
|
| +public:
|
| + /**
|
| + This variation iterates the binary data sequentially (as in scanline fashion)
|
| + and will add each run of 1's to the path as a rectangular path. Upon parsing
|
| + all binary data the path is simplified using the PathOps::Simplify() method.
|
| + */
|
| + static void BitsToPath_Path(SkPath* path, const char* bitmap,
|
| + int h, int w, int stride);
|
| +
|
| + /**
|
| + This variation utilizes the SkRegion class to generate paths, adding
|
| + each run of 1's to the SkRegion as an SkIRect. Upon parsing the entirety
|
| + of the binary the SkRegion is converted to a Path via getBoundaryPath().
|
| + */
|
| + static void BitsToPath_Region(SkPath* path, const char* bitmap,
|
| + int h, int w, int stride);
|
| +
|
| +};
|
| +
|
| +#endif
|
|
|