d43f644912
Animated the PathUtils Sample to path contours BUG= R=reed@google.com, scroggo@google.com, djsollen@google.com Author: dierk@google.com Review URL: https://chromiumcodereview.appspot.com/18552005 git-svn-id: http://skia.googlecode.com/svn/trunk@9934 2bbb7eff-a529-9590-31e7-b0007b416f81
41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
/*
|
|
* 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 w, int h, int rowBytes);
|
|
|
|
/**
|
|
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 w, int h, int rowBytes);
|
|
|
|
};
|
|
|
|
#endif
|