summaryrefslogtreecommitdiff
path: root/test/blender/blender.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/blender/blender.c')
-rw-r--r--test/blender/blender.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/test/blender/blender.c b/test/blender/blender.c
index 344ce04..9a43db0 100644
--- a/test/blender/blender.c
+++ b/test/blender/blender.c
@@ -2,14 +2,37 @@
2#include <assert.h> 2#include <assert.h>
3 3
4static void test_color_blending() { 4static void test_color_blending() {
5 Color a = {{0xFF, 0xED, 0x00, 0x00}}; 5 Color origin = {{0xFF, 0xED, 0x00, 0x00}};
6 Color b = {{0x00, 0x47, 0xAB, 0x00}}; 6 Color target = {{0x00, 0x47, 0xAB, 0x00}};
7 Color result = blender_blend_colors(a, b, 0.125); 7 Color result = blender_blend_colors(origin, target, 0.125);
8 8
9 assert(color_equals(result, (Color) {{0xEE, 0xDF, 0x3C, 0x00}})); 9 assert(color_equals(result, (Color) {{0xEE, 0xDF, 0x3C, 0x00}}));
10} 10}
11 11
12static void test_canvas_blending() {
13 Morphing morphing;
14 Canvas origin, target, result;
15 CartesianVector sample_point = {13, 17};
16
17 morpher_init(&morphing, 64, 64);
18 canvas_init(&origin, 64, 64);
19 canvas_init(&target, 64, 64);
20 canvas_init(&result, 64, 64);
21
22 canvas_set_pixel(&origin, sample_point, (Color) {{0xFF, 0xED, 0x00, 0x00}});
23 canvas_set_pixel(&target, sample_point, (Color) {{0x00, 0x47, 0xAB, 0x00}});
24
25 blender_blend_canvas(&result, &origin, &target, &morphing, 0.125);
26 assert(color_equals(canvas_get_pixel(&result, sample_point), (Color) {{0xEE, 0xDF, 0x3C, 0x00}}));
27
28 canvas_free(&result);
29 canvas_free(&target);
30 canvas_free(&origin);
31 morpher_free(&morphing);
32}
33
12int main(int argc, char **argv) { 34int main(int argc, char **argv) {
13 test_color_blending(); 35 test_color_blending();
36 test_canvas_blending();
14 return 0; 37 return 0;
15} 38}