From 39100e7292d3ee12d387fddfa0f0d7b712e31e1c Mon Sep 17 00:00:00 2001 From: quou Date: Sun, 30 Jun 2024 18:24:01 +1000 Subject: initial commit. --- render.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 render.h (limited to 'render.h') diff --git a/render.h b/render.h new file mode 100644 index 0000000..36bafe4 --- /dev/null +++ b/render.h @@ -0,0 +1,48 @@ +#ifndef render_h +#define render_h + +#include "rect.h" + +typedef struct { + unsigned char r, g, b, a; +} Colour; + +Colour make_colour(unsigned rgb, unsigned char a); +Colour make_red(void); +Colour make_green(void); +Colour make_blue(void); +Colour make_cyan(void); +Colour make_pink(void); +Colour make_yellow(void); +Colour make_aliceblue(void); +Colour blend(Colour dst, Colour src); +Colour blend_mod(Colour dst, Colour src, Colour mod); + +typedef struct { + Colour* t; + int w, h; + Rect clip; +} Renderer; + +void ren_begin(Renderer* r, Colour* t, int w, int h); +void ren_end(Renderer* r); +void ren_clear(Renderer* r); +void ren_clearc(Renderer* r, Colour c); +void ren_clip(Renderer* r, const Rect* c); +void ren_point(Renderer* r, Colour c, int x, int y); +void ren_char( + Renderer* r, + Colour c, + int x, + int y, + char ch +); +void ren_text( + Renderer* r, + Colour c, + int x, + int y, + const char* t +); + +#endif -- cgit v1.2.3-54-g00ecf