Home | History | Annotate | Download | only in pathops

Lines Matching refs:wn

13                                       const SkIntersectionHelper& wn, const SkIntersections& i) {
17 __FUNCTION__, LINE_DEBUG_DATA(wt.pts()), LINE_DEBUG_DATA(wn.pts()));
25 SkDebugf(" wnTs[0]=%g " LINE_DEBUG_STR, i[1][0], LINE_DEBUG_DATA(wn.pts()));
33 const SkIntersectionHelper& wn,
38 __FUNCTION__, QUAD_DEBUG_DATA(wt.pts()), LINE_DEBUG_DATA(wn.pts()));
46 SkDebugf(" wnTs[0]=%g " LINE_DEBUG_STR, i[1][0], LINE_DEBUG_DATA(wn.pts()));
54 const SkIntersectionHelper& wn, const SkIntersections& i) {
58 __FUNCTION__, QUAD_DEBUG_DATA(wt.pts()), QUAD_DEBUG_DATA(wn.pts()));
66 SkDebugf(" wnTs[0]=%g " QUAD_DEBUG_STR, i[1][0], QUAD_DEBUG_DATA(wn.pts()));
74 const SkIntersectionHelper& wn, const SkIntersections& i) {
78 __FUNCTION__, CUBIC_DEBUG_DATA(wt.pts()), LINE_DEBUG_DATA(wn.pts()));
86 SkDebugf(" wnTs[0]=%g " LINE_DEBUG_STR, i[1][0], LINE_DEBUG_DATA(wn.pts()));
94 const SkIntersectionHelper& wn, const SkIntersections& i) {
98 __FUNCTION__, CUBIC_DEBUG_DATA(wt.pts()), QUAD_DEBUG_DATA(wn.pts()));
106 SkDebugf(" wnTs[0]=%g " QUAD_DEBUG_STR, i[1][0], QUAD_DEBUG_DATA(wn.pts()));
114 const SkIntersectionHelper& wn, const SkIntersections& i) {
118 __FUNCTION__, CUBIC_DEBUG_DATA(wt.pts()), CUBIC_DEBUG_DATA(wn.pts()));
126 SkDebugf(" wnTs[0]=%g " CUBIC_DEBUG_STR, i[1][0], CUBIC_DEBUG_DATA(wn.pts()));
191 SkIntersectionHelper wn;
192 wn.init(next);
193 if (test == next && !wn.startAfter(wt)) {
197 if (!SkPathOpsBounds::Intersects(wt.bounds(), wn.bounds())) {
206 switch (wn.segmentType()) {
210 pts = ts.lineHorizontal(wn.pts(), wt.left(),
212 debugShowLineIntersection(pts, wn, wt, ts);
216 pts = ts.quadHorizontal(wn.pts(), wt.left(),
218 debugShowQuadLineIntersection(pts, wn, wt, ts);
222 pts = ts.cubicHorizontal(wn.pts(), wt.left(),
224 debugShowCubicLineIntersection(pts, wn, wt, ts);
233 switch (wn.segmentType()) {
237 pts = ts.lineVertical(wn.pts(), wt.top(),
239 debugShowLineIntersection(pts, wn, wt, ts);
243 pts = ts.quadVertical(wn.pts(), wt.top(),
245 debugShowQuadLineIntersection(pts, wn, wt, ts);
249 pts = ts.cubicVertical(wn.pts(), wt.top(),
251 debugShowCubicLineIntersection(pts, wn, wt, ts);
259 switch (wn.segmentType()) {
261 pts = ts.lineHorizontal(wt.pts(), wn.left(),
262 wn.right(), wn.y(), wn.xFlipped());
263 debugShowLineIntersection(pts, wt, wn, ts);
266 pts = ts.lineVertical(wt.pts(), wn.top(),
267 wn.bottom(), wn.x(), wn.yFlipped());
268 debugShowLineIntersection(pts, wt, wn, ts);
271 pts = ts.lineLine(wt.pts(), wn.pts());
272 debugShowLineIntersection(pts, wt, wn, ts);
277 pts = ts.quadLine(wn.pts(), wt.pts());
278 debugShowQuadLineIntersection(pts, wn, wt, ts);
283 pts = ts.cubicLine(wn.pts(), wt.pts());
284 debugShowCubicLineIntersection(pts, wn, wt, ts);
292 switch (wn.segmentType()) {
294 pts = ts.quadHorizontal(wt.pts(), wn.left(),
295 wn.right(), wn.y(), wn.xFlipped());
296 debugShowQuadLineIntersection(pts, wt, wn, ts);
299 pts = ts.quadVertical(wt.pts(), wn.top(),
300 wn.bottom(), wn.x(), wn.yFlipped());
301 debugShowQuadLineIntersection(pts, wt, wn, ts);
304 pts = ts.quadLine(wt.pts(), wn.pts());
305 debugShowQuadLineIntersection(pts, wt, wn, ts);
309 pts = ts.quadQuad(wt.pts(), wn.pts());
310 debugShowQuadIntersection(pts, wt, wn, ts);
315 pts = ts.cubicQuad(wn.pts(), wt.pts());
316 debugShowCubicQuadIntersection(pts, wn, wt, ts);
324 switch (wn.segmentType()) {
326 pts = ts.cubicHorizontal(wt.pts(), wn.left(),
327 wn.right(), wn.y(), wn.xFlipped());
328 debugShowCubicLineIntersection(pts, wt, wn, ts);
331 pts = ts.cubicVertical(wt.pts(), wn.top(),
332 wn.bottom(), wn.x(), wn.yFlipped());
333 debugShowCubicLineIntersection(pts, wt, wn, ts);
336 pts = ts.cubicLine(wt.pts(), wn.pts());
337 debugShowCubicLineIntersection(pts, wt, wn, ts);
341 pts = ts.cubicQuad(wt.pts(), wn.pts());
342 debugShowCubicQuadIntersection(pts, wt, wn, ts);
346 pts = ts.cubicCubic(wt.pts(), wn.pts());
347 debugShowCubicIntersection(pts, wt, wn, ts);
364 if (wn.segmentType() <= SkIntersectionHelper::kLine_Segment
366 if (wt.addCoincident(wn, ts, swap)) {
371 } else if (wn.segmentType() >= SkIntersectionHelper::kQuad_Segment
375 if (wt.addCoincident(wn, ts, swap)) {
387 && wn.isPartial(ts[!swap][pt], ts[!swap][pt + 1], point, next)) {
388 if (!wt.addPartialCoincident(wn, ts, pt, swap)) {
400 int testTAt = wt.addT(wn, point, ts[swap][pt]);
401 int nextTAt = wn.addT(wt, point, ts[!swap][pt]);
403 wn.addOtherT(nextTAt, ts[swap][pt], testTAt);
405 } while (wn.advance());