libpaint/painter.h
2022-08-16 20:42:14 +03:00

28 lines
No EOL
716 B
C

#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;
size_t buf_length;
} 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);
void lp_painter_line(lp_painter *p, lp_pixel color, int32_t x0, int32_t y0, int32_t x1, int32_t y1);
#endif