From 59c1fece82944d4f904cf6a02f97df2818961bb3 Mon Sep 17 00:00:00 2001 From: pacien Date: Sat, 2 Dec 2017 15:19:15 +0100 Subject: Impl. canvas, minor api change Signed-off-by: pacien --- src/blender/canvas.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/blender/canvas.c (limited to 'src/blender') diff --git a/src/blender/canvas.c b/src/blender/canvas.c new file mode 100644 index 0000000..3710249 --- /dev/null +++ b/src/blender/canvas.c @@ -0,0 +1,23 @@ +#include "blender/canvas.h" + +void canvas_init(Canvas *canvas, IntVector width, IntVector height) { + canvas->mlv = MLV_create_image(width, height); +} + +void canvas_free(Canvas *canvas) { + MLV_free_image(canvas->mlv); +} + +void canvas_set_pixel(Canvas *canvas, CartesianVector position, Color color) { + MLV_set_pixel_on_image(position.x, position.x, color.mlv, canvas->mlv); +} + +Color canvas_get_pixel(Canvas *canvas, CartesianVector position) { + int r, g, b, a; + MLV_get_pixel_on_image(canvas->mlv, position.x, position.y, &r, &g, &b, &a); + return (Color) {{r, g, b, a}}; +} + +CartesianVector canvas_get_size(Canvas *canvas) { + return (CartesianVector) {MLV_get_image_width(canvas->mlv), MLV_get_image_height(canvas->mlv)}; +} -- cgit v1.2.3