diff options
author | pacien | 2017-12-02 20:36:29 +0100 |
---|---|---|
committer | pacien | 2017-12-02 20:36:29 +0100 |
commit | de7b6472c31671f28708ff9ee71d6546811ed809 (patch) | |
tree | dfb8989b4c23ce35148564c8c4dfb9e9e60d238d /test/blender | |
parent | 1a5cebf48d76b7be5ab87c6d9e3c856456372b55 (diff) | |
download | morpher-de7b6472c31671f28708ff9ee71d6546811ed809.tar.gz |
Impl. canvas blending
Signed-off-by: pacien <pacien.trangirard@pacien.net>
Diffstat (limited to 'test/blender')
-rw-r--r-- | test/blender/blender.c | 29 |
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 | ||
4 | static void test_color_blending() { | 4 | static 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 | ||
12 | static 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 | |||
12 | int main(int argc, char **argv) { | 34 | int 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 | } |