void drawline(){ int x = _x, y = _y,fl=0; int dx = _abs(_x2 - x), dy=_abs(_y2 - y); int sy , sx; if (dx){ sx = (_x2 - x) / dx; } else { sx = 0; } if (dy){ sy = (_y2 - y) / dy; } else { sy = 0; } if (dy > dx){ int t = dx; dx = dy; dy = t; fl = 1; } int e = - dx,de=2*dy; for (int i = 0; i < dx; i++){ SetPixel(x, y); e += de; if (fl){ y += sy; } else { x += sx; } while (e >= 0){ if (fl){ x += sx; } else { y += sy; } e -= 2 * dx; } } }