diff options
Diffstat (limited to 'test/painter/rasterizer.c')
-rw-r--r-- | test/painter/rasterizer.c | 27 |
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 | |||
4 | static 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 | |||
24 | int main(int argc, char **argv) { | ||
25 | test_rasterize(); | ||
26 | return 0; | ||
27 | } | ||