57 while (pt != outline);
71 int b0a1xb0b1, b0b1xb0a0;
72 int a1b1xa1a0, a1a0xa1b0;
74 TPOINT b0a1, b0a0, a1b1, b0b1, a1a0;
87 b0a1xb0b1 =
CROSS (b0a1, b0b1);
88 b0b1xb0a0 =
CROSS (b0b1, b0a0);
89 a1b1xa1a0 =
CROSS (a1b1, a1a0);
91 a1a0xa1b0 = -
CROSS (a1a0, b0a1);
93 return ((b0a1xb0b1 > 0 && b0b1xb0a0 > 0)
94 || (b0a1xb0b1 < 0 && b0b1xb0a0 < 0))
95 && ((a1b1xa1a0 > 0 && a1a0xa1b0 > 0) || (a1b1xa1a0 < 0 && a1a0xa1b0 < 0));
124 float x0 = line_pt_0->
pos.
x;
125 float x1 = line_pt_1->
pos.
x;
126 float y0 = line_pt_0->
pos.
y;
127 float y1 = line_pt_1->
pos.
y;
136 slope = (y0 - y1) / (x0 - x1);
137 intercept = y1 - x1 * slope;
140 p.
x = (
inT16) ((point->
pos.
x + (point->
pos.
y - intercept) * slope) /
141 (slope * slope + 1));
142 p.
y = (
inT16) (slope * p.
x + intercept);
151 *near_pt =
closest(point, line_pt_0, line_pt_1);
177 edgept = edgept->
prev;
179 while (edgept != outline);