191 if (!im.Contains(ya, xa) || !im.Contains(yb, xb)) {
192 int width = pim->Width();
193 int height = pim->Height();
194 const bool xdir = xa < xb, ydir = ya < yb;
195 float nx0 = xa, nx1 = xb, ny0 = ya, ny1 = yb, &xleft = xdir ? nx0 : nx1,
196 &yleft = xdir ? ny0 : ny1, &xright = xdir ? nx1 : nx0,
197 &yright = xdir ? ny1 : ny0, &xup = ydir ? nx0 : nx1,
198 &yup = ydir ? ny0 : ny1, &xdown = ydir ? nx1 : nx0,
199 &ydown = ydir ? ny1 : ny0;
201 if (xright < 0 || xleft >= width) {
205 yleft -= xleft * (yright - yleft) / (xright - xleft);
208 if (xright >= width) {
209 yright -= (xright - width) * (yright - yleft) / (xright - xleft);
212 if (ydown < 0 || yup >= height) {
216 xup -= yup * (xdown - xup) / (ydown - yup);
219 if (ydown >= height) {
220 xdown -= (ydown - height) * (xdown - xup) / (ydown - yup);
230 int xbas, xhaut, ybas, yhaut;
244 int x,
y, dx, dy, incrmX, incrmY, dp,
N, S;
void DrawEllipse(int xc, int yc, int radiusA, int radiusB, const Color &col, Image *pim, double angle=0.0)