2022-08-15 22:38:04 +03:00
|
|
|
#ifndef _PAINTER_H
|
|
|
|
#define _PAINTER_H
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
typedef struct lp_pixel {
|
|
|
|
uint8_t r;
|
|
|
|
uint8_t g;
|
|
|
|
uint8_t b;
|
|
|
|
} lp_pixel;
|
|
|
|
|
|
|
|
lp_pixel lp_rgb(uint8_t r, uint8_t g, uint8_t b);
|
|
|
|
|
|
|
|
typedef struct lp_painter {
|
|
|
|
lp_pixel *buf;
|
|
|
|
size_t width;
|
|
|
|
size_t height;
|
2022-08-16 20:42:14 +03:00
|
|
|
size_t buf_length;
|
2022-08-15 22:38:04 +03:00
|
|
|
} lp_painter;
|
|
|
|
|
|
|
|
lp_painter *lp_painter_create();
|
|
|
|
void lp_painter_free(lp_painter *painter);
|
|
|
|
void lp_painter_fill_rect(lp_painter *painter, lp_pixel fill_color, size_t pos_x, size_t pos_y, size_t width, size_t height);
|
|
|
|
void lp_painter_save_ppm(lp_painter *painter, const char *filename);
|
2022-08-16 20:42:14 +03:00
|
|
|
void lp_painter_line(lp_painter *p, lp_pixel color, int32_t x0, int32_t y0, int32_t x1, int32_t y1);
|
2022-08-15 22:38:04 +03:00
|
|
|
|
|
|
|
#endif
|