6 void draw_line(
int x0,
int y0,
int x1,
int y1,
int thickness,
int color) {
12 int sx = (x0 < x1) ? 1 : -1;
13 int sy = (y0 < y1) ? 1 : -1;
21 for (
int i = -thickness / 2; i <= thickness / 2; i++) {
22 set_pixel(x0 + i, y0, color);
26 if (x0 == x1 && y0 == y1) {
30 int error2 = error * 2;
46 void draw_line_extern(uint8_t *buffer,
size_t width,
size_t height,
int x0,
int y0,
int x1,
int y1,
int thickness,
int color) {
48 int dx = ABS(x1 - x0);
49 int dy = ABS(y1 - y0);
52 int sx = (x0 < x1) ? 1 : -1;
53 int sy = (y0 < y1) ? 1 : -1;
61 for (
int i = -thickness / 2; i <= thickness / 2; i++) {
66 if (x0 == x1 && y0 == y1) {
70 int error2 = error * 2;
Основные определения ядра
void buffer_set_pixel4(uint8_t *buffer, size_t width, size_t height, size_t x, size_t y, size_t color)
Устновливает пиксель RGB в буфере в котором все пиксели представляют собой RGBA (альфа канал игнориру...