From 190449ee18bec69b2e385dccd9bd42ddc83dd418 Mon Sep 17 00:00:00 2001 From: pacien Date: Thu, 28 Dec 2017 01:22:41 +0100 Subject: Refactor and test color Signed-off-by: pacien --- test/painter/color.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 test/painter/color.c (limited to 'test/painter') diff --git a/test/painter/color.c b/test/painter/color.c new file mode 100644 index 0000000..bdfe9b3 --- /dev/null +++ b/test/painter/color.c @@ -0,0 +1,14 @@ +#include "painter/color.h" +#include + +static void test_color_blend() { + Color a = {{1, 10, 100, 200}}, b = {{100, 1, 200, 10}}; + assert(color_equals(color_blend(a, b, TIME_ORIGIN), a)); + assert(color_equals(color_blend(a, b, TIME_UNIT), b)); + assert(color_equals(color_blend(a, b, 0.25), (Color) {{50, 9, 132, 173}})); +} + +int main(int argc, char **argv) { + test_color_blend(); + return 0; +} -- cgit v1.2.3 From 330fd85db8c89c178621d978929d911bbe93fec7 Mon Sep 17 00:00:00 2001 From: pacien Date: Thu, 28 Dec 2017 01:23:08 +0100 Subject: Refactor canvas blender into rasterizer Signed-off-by: pacien --- test/painter/rasterizer.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/painter/rasterizer.c (limited to 'test/painter') diff --git a/test/painter/rasterizer.c b/test/painter/rasterizer.c new file mode 100644 index 0000000..99a70b4 --- /dev/null +++ b/test/painter/rasterizer.c @@ -0,0 +1,27 @@ +#include "painter/rasterizer.h" +#include + +static void test_rasterize() { + Morphing *morphing; + Canvas *origin, *target, *result; + CartesianVector sample_point = {13, 17}; + + morphing = morphing_create(100, 100); + origin = canvas_create(100, 100); + target = canvas_create(100, 100); + canvas_set_pixel(origin, sample_point, (Color) {{0xFF, 0x00, 0xED, 0xFF}}); + canvas_set_pixel(target, sample_point, (Color) {{0xFF, 0xAB, 0x47, 0x00}}); + + result = rasterize(origin, target, morphing, 0.125); + assert(color_equals(canvas_get_pixel(result, sample_point), (Color) {{0xFF, 0x3C, 0xDF, 0xEF}})); + + canvas_destroy(result); + canvas_destroy(target); + canvas_destroy(origin); + morphing_destroy(morphing); +} + +int main(int argc, char **argv) { + test_rasterize(); + return 0; +} -- cgit v1.2.3