Put all blending function definitions in blend_funcs.h

This commit is contained in:
David Capello 2017-07-19 10:44:21 -03:00
parent c06ce39357
commit 83e6f877f5
2 changed files with 34 additions and 20 deletions

View File

@ -12,24 +12,6 @@
#include <benchmark/benchmark.h>
namespace doc {
color_t rgba_blender_multiply(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_screen(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_overlay(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_darken(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_lighten(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_color_dodge(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_color_burn(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hard_light(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_soft_light(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_difference(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_exclusion(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_hue(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_saturation(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_color(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_luminosity(color_t backdrop, color_t src, int opacity);
}
using namespace doc;
static void CustomArguments(benchmark::internal::Benchmark* b) {

View File

@ -15,13 +15,45 @@ namespace doc {
typedef color_t (*BlendFunc)(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_normal(color_t backdrop, color_t src, int opacity = 255);
color_t rgba_blender_src(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_merge(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_neg_bw(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_red_tint(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_blue_tint(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_normal(color_t backdrop, color_t src, int opacity = 255);
color_t rgba_blender_multiply(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_screen(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_overlay(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_darken(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_lighten(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_color_dodge(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_color_burn(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hard_light(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_soft_light(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_difference(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_exclusion(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_hue(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_saturation(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_color(color_t backdrop, color_t src, int opacity);
color_t rgba_blender_hsl_luminosity(color_t backdrop, color_t src, int opacity);
color_t graya_blender_normal(color_t backdrop, color_t src, int opacity = 255);
color_t graya_blender_src(color_t backdrop, color_t src, int opacity);
color_t graya_blender_merge(color_t backdrop, color_t src, int opacity);
color_t graya_blender_neg_bw(color_t backdrop, color_t src, int opacity);
color_t graya_blender_normal(color_t backdrop, color_t src, int opacity = 255);
color_t graya_blender_multiply(color_t backdrop, color_t src, int opacity);
color_t graya_blender_screen(color_t backdrop, color_t src, int opacity);
color_t graya_blender_overlay(color_t backdrop, color_t src, int opacity);
color_t graya_blender_darken(color_t backdrop, color_t src, int opacity);
color_t graya_blender_lighten(color_t backdrop, color_t src, int opacity);
color_t graya_blender_color_dodge(color_t backdrop, color_t src, int opacity);
color_t graya_blender_color_burn(color_t backdrop, color_t src, int opacity);
color_t graya_blender_hard_light(color_t backdrop, color_t src, int opacity);
color_t graya_blender_soft_light(color_t backdrop, color_t src, int opacity);
color_t graya_blender_difference(color_t backdrop, color_t src, int opacity);
color_t graya_blender_exclusion(color_t backdrop, color_t src, int opacity);
color_t indexed_blender_src(color_t dst, color_t src, int opacity);
BlendFunc get_rgba_blender(BlendMode blendmode);
BlendFunc get_graya_blender(BlendMode blendmode);