Lines Matching refs:src
9 #include "src/core/SkLineClipper.h"
30 static SkScalar sect_with_horizontal(const SkPoint src[2], SkScalar Y) {
31 SkScalar dy = src[1].fY - src[0].fY;
33 return SkScalarAve(src[0].fX, src[1].fX);
37 double X0 = src[0].fX;
38 double Y0 = src[0].fY;
39 double X1 = src[1].fX;
40 double Y1 = src[1].fY;
51 static SkScalar sect_with_vertical(const SkPoint src[2], SkScalar X) {
52 SkScalar dx = src[1].fX - src[0].fX;
54 return SkScalarAve(src[0].fY, src[1].fY);
58 double X0 = src[0].fX;
59 double Y0 = src[0].fY;
60 double X1 = src[1].fX;
61 double Y1 = src[1].fY;
67 static SkScalar sect_clamp_with_vertical(const SkPoint src[2], SkScalar x) {
68 SkScalar y = sect_with_vertical(src, x);
69 // Our caller expects y to be between src[0].fY and src[1].fY (unsorted), but due to the
73 return pin_unsorted(y, src[0].fY, src[1].fY);
90 bool SkLineClipper::IntersectLine(const SkPoint src[2], const SkRect& clip,
94 bounds.set(src[0], src[1]);
96 if (src != dst) {
97 memcpy(dst, src, 2 * sizeof(SkPoint));
112 if (src[0].fY < src[1].fY) {
121 memcpy(tmp, src, sizeof(tmp));
125 tmp[index0].set(sect_with_horizontal(src, clip.fTop), clip.fTop);
128 tmp[index1].set(sect_with_horizontal(src, clip.fBottom), clip.fBottom);
149 tmp[index0].set(clip.fLeft, sect_with_vertical(src, clip.fLeft));
152 tmp[index1].set(clip.fRight, sect_with_vertical(src, clip.fRight));