summaryrefslogtreecommitdiff
path: root/test/painter/rasterizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/painter/rasterizer.c')
-rw-r--r--test/painter/rasterizer.c27
1 files changed, 27 insertions, 0 deletions
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 @@
1#include "painter/rasterizer.h"
2#include <assert.h>
3
4static void test_rasterize() {
5 Morphing *morphing;
6 Canvas *origin, *target, *result;
7 CartesianVector sample_point = {13, 17};
8
9 morphing = morphing_create(100, 100);
10 origin = canvas_create(100, 100);
11 target = canvas_create(100, 100);
12 canvas_set_pixel(origin, sample_point, (Color) {{0xFF, 0x00, 0xED, 0xFF}});
13 canvas_set_pixel(target, sample_point, (Color) {{0xFF, 0xAB, 0x47, 0x00}});
14
15 result = rasterize(origin, target, morphing, 0.125);
16 assert(color_equals(canvas_get_pixel(result, sample_point), (Color) {{0xFF, 0x3C, 0xDF, 0xEF}}));
17
18 canvas_destroy(result);
19 canvas_destroy(target);
20 canvas_destroy(origin);
21 morphing_destroy(morphing);
22}
23
24int main(int argc, char **argv) {
25 test_rasterize();
26 return 0;
27}