65 int32_t e2, sx, sy, dx, dy, err;
90 if ((x1 >= 0) && (x1 <= win->xpsize) &&
91 (y1 >= 0) && (y1 <= win->ypsize)) {
95 if ((x1 == x2) && (y1 == y2)) {
120 int32_t border_width,
131 if ((xwin_min >= 0) && (ywin_min >= 0) &&
132 (xwin_max < xsize) && (ywin_max < ysize)) {
150 win->
xpmin = xwin_min;
151 win->
ypmin = ywin_min;
152 win->
xpmax = xwin_max;
153 win->
ypmax = ywin_max;
159 win->
xpvmin = xwin_min + border_width;
160 win->
ypvmin = ywin_min + border_width;
161 win->
xpvmax = xwin_max - border_width;
162 win->
ypvmax = ywin_max - border_width;
165 win->
xvsize = xwin_max - xwin_min - 2 * border_width;
166 win->
yvsize = ywin_max - ywin_min - 2 * border_width;
170 for (i = 0; i < border_width; i++) {
172 (ywin_min + i), (xwin_max - i), (ywin_min + i));
174 (ywin_min + i), (xwin_max - i), (ywin_max - i));
176 (ywin_max - i), (xwin_min + i), (ywin_max - i));
178 (ywin_max - i), (xwin_min + i), (ywin_min + i));
200 int16_t x0, x1, y0, y1;
205 for ( x0 = cx - x; x0 <= cx + x; x0++ ) {
220 if (( x != 0) && ( y != 0) ) {
244 int16_t realx, realy;
252 if ((realx <= win->xpvmax) &&
253 (realy <= win->ypvmax)) {
254 *(win->
fb + realx + (realy * win->
xpsize)) = win->
pen;
265 int32_t e2, sx, sy, dx, dy, err;
296 if ((x1 >= win->
xpvmin) && (x1 <= win->xpvmax) &&
297 (y1 >= win->
ypvmin) && (y1 <= win->ypvmax)) {
301 if ((x1 == x2) && (y1 == y2)) {
324 int32_t xleft, xright, xleft1, xleft2, xright1, idy, ypmid;
325 int32_t ypmin, ypmax, dlta, err, e2;
337 if ((rx <= 0) || (ry <= 0)) {
342 ypmin = y - ry + win->
ypvmin;
344 ypmax = y + ry + win->
ypvmin;
347 xleft = xright = x + win->
xpvmin;
352 for (idy = ypmin; idy <= ypmid; idy++) {
353 xleft1 = xleft2 = xleft;
357 if (xleft1 < win->xpvmin) {
358 xleft2 = xleft1 = win->
xpvmin;
360 if (xright1 > win->
xpvmax) {
365 if ((idy >= win->
ypvmin) && (idy <= win->ypvmax)) {
366 while (xleft1 <= xright1) {
373 if ((ypmax >= ypmid) && (ypmax <= win->
ypvmax)) {
375 while (xleft2 <= xright1) {
376 *(win->
fb + xleft2 + (ypmax * win->
xpsize)) = win->
fill;
397 int32_t
Error = -radius;
422 for (y = win->
ypvmin; y <= win->ypvmax; y++) {
423 for (x = win->
xpvmin; x <= win->xpvmax; x++) {
424 *(win->
fb + x + (y * win->
xpsize)) = colr;
459 if (x1 < win->xpvmin) {
462 if (y1 < win->ypvmin) {
508 int32_t border_width,
516 ywin_min, xwin_max, ywin_max, border_width, pcolor, bkcolor,
534 int32_t border_width,
542 ywin_min, xwin_max, ywin_max, border_width, pcolor, bkcolor,
561 win->
pen = pen_color;
568 win->
fill = fill_color;
575 win->
bkg = bkg_color;