From 28fee77230c77ae3429544b40df5a992769add53 Mon Sep 17 00:00:00 2001 From: pacien Date: Sat, 2 Dec 2017 20:39:43 +0100 Subject: Change local utility function scope Signed-off-by: pacien --- include/blender/blender.h | 16 ---------------- src/blender/blender.c | 12 ++++-------- test/blender/blender.c | 9 --------- 3 files changed, 4 insertions(+), 33 deletions(-) diff --git a/include/blender/blender.h b/include/blender/blender.h index 356c68e..8e89208 100644 --- a/include/blender/blender.h +++ b/include/blender/blender.h @@ -8,7 +8,6 @@ #include "common/time.h" #include "blender/canvas.h" -#include "blender/color.h" #include "morpher/morpher.h" /** @@ -24,19 +23,4 @@ */ void blender_blend_canvas(Canvas *canvas, Canvas *source, Canvas *target, Morphing *morphing, TimeVector frame); -/** - * Function: blender_blend_colors - * Properly blends two coloured pixels, interpolated at the given time frame. - * (https://www.youtube.com/watch?v=LKnqECcg6Gw) - * - * Parameters: - * origin - the origin colour - * target - the target colour - * frame - the interpolation distance from the origin colour [0;1] - * - * Returns: - * The blended coloured pixel - */ -Color blender_blend_colors(Color origin, Color target, TimeVector frame); - #endif diff --git a/src/blender/blender.c b/src/blender/blender.c index 738811d..99abedd 100644 --- a/src/blender/blender.c +++ b/src/blender/blender.c @@ -3,12 +3,12 @@ #include #include "morpher/morpher.h" -static ColorComponent blend_components(ColorComponent origin, ColorComponent target, TimeVector frame) { +static inline ColorComponent blend_components(ColorComponent origin, ColorComponent target, TimeVector frame) { + // https://www.youtube.com/watch?v=LKnqECcg6Gw return (ColorComponent) sqrt((TIME_UNIT - frame) * pow(origin, 2) + frame * pow(target, 2)); } -Color blender_blend_colors(Color origin, Color target, TimeVector frame) { - assert(frame >= TIME_ORIGIN && frame <= TIME_UNIT); +static inline Color blend_colors(Color origin, Color target, TimeVector frame) { return (Color) {{blend_components(origin.rgba.r, target.rgba.r, frame), blend_components(origin.rgba.g, target.rgba.g, frame), blend_components(origin.rgba.b, target.rgba.b, frame), @@ -34,11 +34,7 @@ void blender_blend_canvas(Canvas *canvas, Canvas *source, Canvas *target, Morphi point.y = flat_dim / dim.y; mapping = morpher_get_point_mapping(morphing, point, frame); - - pixel = blender_blend_colors(canvas_get_pixel(source, mapping.origin), - canvas_get_pixel(target, mapping.target), - frame); - + pixel = blend_colors(canvas_get_pixel(source, mapping.origin), canvas_get_pixel(target, mapping.target), frame); canvas_set_pixel(canvas, point, pixel); } } diff --git a/test/blender/blender.c b/test/blender/blender.c index 9a43db0..bf16dc6 100644 --- a/test/blender/blender.c +++ b/test/blender/blender.c @@ -1,14 +1,6 @@ #include "blender/blender.h" #include -static void test_color_blending() { - Color origin = {{0xFF, 0xED, 0x00, 0x00}}; - Color target = {{0x00, 0x47, 0xAB, 0x00}}; - Color result = blender_blend_colors(origin, target, 0.125); - - assert(color_equals(result, (Color) {{0xEE, 0xDF, 0x3C, 0x00}})); -} - static void test_canvas_blending() { Morphing morphing; Canvas origin, target, result; @@ -32,7 +24,6 @@ static void test_canvas_blending() { } int main(int argc, char **argv) { - test_color_blending(); test_canvas_blending(); return 0; } -- cgit v1.2.3