Lines Matching refs:Direction
267 SkPathPriv::FirstDirection direction;
268 if (!SkPathPriv::CheapComputeFirstDirection(*this, &direction)) {
319 if (!check_edge_against_rect(quadPts[0], quadPts[2], rect, direction)) {
322 if (!check_edge_against_rect(quadPts[2], quadPts[4], rect, direction)) {
326 if (!check_edge_against_rect(prevPt, pts[nextPt], rect, direction)) {
334 return check_edge_against_rect(prevPt, firstPt, rect, direction);
387 Determines if path is a rect by keeping track of changes in direction
390 The direction is computed such that:
402 There's more than four changes of direction.
404 The line reverses direction.
417 The direction takes advantage of the corners found since opposite sides
424 first,last,next direction state-machine:
436 bool* isClosed, Direction* direction) const {
488 direction changes
501 return false; // direction didn't follow cycle
554 if (result && direction) {
555 *direction = firstDirection == ((lastDirection + 1) & 3) ? kCCW_Direction : kCW_Direction;
560 bool SkPath::isRect(SkRect* rect, bool* isClosed, Direction* direction) const {
565 if (!this->isRectContour(false, &currVerb, &pts, isClosed, direction)) {
580 bool SkPath::isNestedFillRects(SkRect rects[2], Direction dirs[2]) const {
585 Direction testDirs[2];
896 PointIterator(SkPath::Direction dir, unsigned startIndex)
920 RectPointIterator(const SkRect& rect, SkPath::Direction dir, unsigned startIndex)
932 OvalPointIterator(const SkRect& oval, SkPath::Direction dir, unsigned startIndex)
947 RRectPointIterator(const SkRRect& rrect, SkPath::Direction dir, unsigned startIndex)
973 void SkPath::addRect(const SkRect& rect, Direction dir) {
978 SkScalar bottom, Direction dir) {
982 void SkPath::addRect(const SkRect &rect, Direction dir, unsigned startIndex) {
1105 Direction dir) {
1111 void SkPath::addRRect(const SkRRect& rrect, Direction dir) {
1116 void SkPath::addRRect(const SkRRect &rrect, Direction dir, unsigned startIndex) {
1211 Direction dir) {
1223 void SkPath::addOval(const SkRect& oval, Direction dir) {
1228 void SkPath::addOval(const SkRect &oval, Direction dir, unsigned startPointIndex) {
1269 void SkPath::addCircle(SkScalar x, SkScalar y, SkScalar r, Direction dir) {
1336 SkPath::Direction arcSweep, SkScalar x, SkScalar y) {
1433 SkPath::Direction sweep, SkScalar dx, SkScalar dy) {
2299 /** The direction returned is only valid if the path is determined convex */
2420 SkFAIL("Use of invalid direction change flag");
2719 // SkScalar, since we just want - or + to signal the direction.
2741 // x-direction. We really should continue to walk away from the degeneracy until
2744 // construct the subtract so we get the correct Direction below
3271 bool SkPathPriv::IsSimpleClosedRect(const SkPath& path, SkRect* rect, SkPath::Direction* direction,
3341 *direction = vec03IsVertical ? SkPath::kCW_Direction : SkPath::kCCW_Direction;
3346 *direction = vec03IsVertical ? SkPath::kCCW_Direction : SkPath::kCW_Direction;
3351 *direction = vec03IsVertical ? SkPath::kCCW_Direction : SkPath::kCW_Direction;
3356 *direction = vec03IsVertical ? SkPath::kCW_Direction : SkPath::kCCW_Direction;