- for (x = 0 ; x < w.width ; x += k) {
- ci = p.Imax;
- for (y = 0 ; y < w.height ; y += k) {
- if (x % kk != 0 || y % kk != 0 || k == kmax) {
- int i = check_point(p, cr, ci);
- if (i != iprev) {
- set_color(w, p, i);
- iprev = 1;
- }
- if (k > 2) {
- w.fillRect(x, y, x + k - 1, y + k - 1);
- } else {
- w.drawPoint(x, y);
- if (k == 2) {
- w.drawPoint(x + 1, y);
- w.drawPoint(x, y + 1);
- w.drawPoint(x + 1, y + 1);
- }
- }
- }
- ci -= ai;
+ int x0 = 0;
+ int i0 = check_point(p, cr, ci);
+ for (x = 1 ; x < w.width ; x++) {
+ cr = p.Rmin + x * p.Rscale;
+ int i = check_point(p, cr, ci);
+ if (i != i0) {
+ set_color(w, p, i0);
+ w.drawLine(x0, y, x - 1, y);
+ i0 = i;
+ x0 = x;