BRESENHAM
BRESENHAM(_y, _x, +i, -k, func); \
BRESENHAM(_x, _y, +k, -i, func); \
BRESENHAM(_y, _x, +i, +k, func); \
BRESENHAM(_x, _y, +k, +i, func); \
BRESENHAM(_y, _x, -i, -k, func); \
BRESENHAM(_x, _y, -k, -i, func); \
BRESENHAM(_y, _x, -i, +k, func); \
BRESENHAM(_x, _y, -k, +i, func); \