From 710308c64e298ae35988fb0881a33cbe92af48ab Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 14 Jul 2009 16:31:41 +0100 Subject: [PATCH] [script] Extended blend mode support. --- src/cairo-script-surface.c | 18 +++++++++++++++++- util/cairo-script/cairo-script-operators.c | 15 +++++++++++++++ util/cairo-trace/trace.c | 18 +++++++++++++++++- 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c index d23276798..059ef95b8 100644 --- a/src/cairo-script-surface.c +++ b/src/cairo-script-surface.c @@ -242,7 +242,23 @@ _operator_to_string (cairo_operator_t op) "XOR", /* CAIRO_OPERATOR_XOR */ "ADD", /* CAIRO_OPERATOR_ADD */ - "SATURATE" /* CAIRO_OPERATOR_SATURATE */ + "SATURATE", /* CAIRO_OPERATOR_SATURATE */ + + "MULTIPLY", /* CAIRO_OPERATOR_MULTIPLY */ + "SCREEN", /* CAIRO_OPERATOR_SCREEN */ + "OVERLAY", /* CAIRO_OPERATOR_OVERLAY */ + "DARKEN", /* CAIRO_OPERATOR_DARKEN */ + "LIGHTEN", /* CAIRO_OPERATOR_LIGHTEN */ + "DODGE", /* CAIRO_OPERATOR_COLOR_DODGE */ + "BURN", /* CAIRO_OPERATOR_COLOR_BURN */ + "HARD_LIGHT", /* CAIRO_OPERATOR_HARD_LIGHT */ + "SOFT_LIGHT", /* CAIRO_OPERATOR_SOFT_LIGHT */ + "DIFFERENCE", /* CAIRO_OPERATOR_DIFFERENCE */ + "EXCLUSION", /* CAIRO_OPERATOR_EXCLUSION */ + "HSL_HUE", /* CAIRO_OPERATOR_HSL_HUE */ + "HSL_SATURATION", /* CAIRO_OPERATOR_HSL_SATURATION */ + "HSL_COLOR", /* CAIRO_OPERATOR_HSL_COLOR */ + "HSL_LUMINOSITY" /* CAIRO_OPERATOR_HSL_LUMINOSITY */ }; assert (op < ARRAY_LENGTH (names)); return names[op]; diff --git a/util/cairo-script/cairo-script-operators.c b/util/cairo-script/cairo-script-operators.c index da68b1be8..c447b9423 100644 --- a/util/cairo-script/cairo-script-operators.c +++ b/util/cairo-script/cairo-script-operators.c @@ -5635,6 +5635,21 @@ _integer_constants[] = { { "XOR", CAIRO_OPERATOR_XOR }, { "ADD", CAIRO_OPERATOR_ADD }, { "SATURATE", CAIRO_OPERATOR_SATURATE }, + { "MULTIPLY", CAIRO_OPERATOR_MULTIPLY }, + { "SCREEN", CAIRO_OPERATOR_SCREEN }, + { "OVERLAY", CAIRO_OPERATOR_OVERLAY }, + { "DARKEN", CAIRO_OPERATOR_DARKEN }, + { "LIGHTEN", CAIRO_OPERATOR_LIGHTEN }, + { "DODGE", CAIRO_OPERATOR_COLOR_DODGE }, + { "BURN", CAIRO_OPERATOR_COLOR_BURN }, + { "HARD_LIGHT", CAIRO_OPERATOR_HARD_LIGHT }, + { "SOFT_LIGHT", CAIRO_OPERATOR_SOFT_LIGHT }, + { "DIFFERENCE", CAIRO_OPERATOR_DIFFERENCE }, + { "EXCLUSION", CAIRO_OPERATOR_EXCLUSION }, + { "HSL_HUE", CAIRO_OPERATOR_HSL_HUE }, + { "HSL_SATURATION", CAIRO_OPERATOR_HSL_SATURATION }, + { "HSL_COLOR", CAIRO_OPERATOR_HSL_COLOR }, + { "HSL_LUMINOSITY", CAIRO_OPERATOR_HSL_LUMINOSITY }, { "WINDING", CAIRO_FILL_RULE_WINDING }, { "EVEN_ODD", CAIRO_FILL_RULE_EVEN_ODD }, diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c index b29b57fe4..26e0d02b2 100644 --- a/util/cairo-trace/trace.c +++ b/util/cairo-trace/trace.c @@ -1857,7 +1857,23 @@ _operator_to_string (cairo_operator_t op) "XOR", /* CAIRO_OPERATOR_XOR */ "ADD", /* CAIRO_OPERATOR_ADD */ - "SATURATE" /* CAIRO_OPERATOR_SATURATE */ + "SATURATE", /* CAIRO_OPERATOR_SATURATE */ + + "MULTIPLY", /* CAIRO_OPERATOR_MULTIPLY */ + "SCREEN", /* CAIRO_OPERATOR_SCREEN */ + "OVERLAY", /* CAIRO_OPERATOR_OVERLAY */ + "DARKEN", /* CAIRO_OPERATOR_DARKEN */ + "LIGHTEN", /* CAIRO_OPERATOR_LIGHTEN */ + "DODGE", /* CAIRO_OPERATOR_COLOR_DODGE */ + "BURN", /* CAIRO_OPERATOR_COLOR_BURN */ + "HARD_LIGHT", /* CAIRO_OPERATOR_HARD_LIGHT */ + "SOFT_LIGHT", /* CAIRO_OPERATOR_SOFT_LIGHT */ + "DIFFERENCE", /* CAIRO_OPERATOR_DIFFERENCE */ + "EXCLUSION", /* CAIRO_OPERATOR_EXCLUSION */ + "HSL_HUE", /* CAIRO_OPERATOR_HSL_HUE */ + "HSL_SATURATION", /* CAIRO_OPERATOR_HSL_SATURATION */ + "HSL_COLOR", /* CAIRO_OPERATOR_HSL_COLOR */ + "HSL_LUMINOSITY" /* CAIRO_OPERATOR_HSL_LUMINOSITY */ }; return names[op]; }