public void line2_no_clip(line_parameters lp, int ex, int ey) { if (lp.len > LineAABasics.line_max_length) { line_parameters lp1, lp2; lp.divide(out lp1, out lp2); line2_no_clip(lp1, lp1.x2 + (lp1.y2 - lp1.y1), lp1.y2 - (lp1.x2 - lp1.x1)); line2_no_clip(lp2, (lp.x2 + ex) >> 1, (lp.y2 + ey) >> 1); return; } LineAABasics.fix_degenerate_bisectrix_end(lp, ref ex, ref ey); line_interpolator_aa2 li = new line_interpolator_aa2(this, lp, ex, ey); if (li.vertical()) { while (li.step_ver()) ; } else { while (li.step_hor()) ; } }
public void line3_no_clip(line_parameters lp, int sx, int sy, int ex, int ey) { if (lp.len > LineAABasics.line_max_length) { line_parameters lp1, lp2; lp.divide(out lp1, out lp2); int mx = lp1.x2 + (lp1.y2 - lp1.y1); int my = lp1.y2 - (lp1.x2 - lp1.x1); line3_no_clip(lp1, (lp.x1 + sx) >> 1, (lp.y1 + sy) >> 1, mx, my); line3_no_clip(lp2, mx, my, (lp.x2 + ex) >> 1, (lp.y2 + ey) >> 1); return; } LineAABasics.fix_degenerate_bisectrix_start(lp, ref sx, ref sy); LineAABasics.fix_degenerate_bisectrix_end(lp, ref ex, ref ey); line_interpolator_aa3 li = new line_interpolator_aa3(this, lp, sx, sy, ex, ey); if (li.vertical()) { while (li.step_ver()) ; } else { while (li.step_hor()) ; } }
public void line0_no_clip(line_parameters lp) { if (lp.len > LineAABasics.line_max_length) { line_parameters lp1, lp2; lp.divide(out lp1, out lp2); line0_no_clip(lp1); line0_no_clip(lp2); return; } line_interpolator_aa0 li = new line_interpolator_aa0(this, lp); if (li.count() != 0) { if (li.vertical()) { while (li.step_ver()) ; } else { while (li.step_hor()) ; } } }