[gimp] app: add a huge switch() to gimp_layer_mode_get_composite_mode()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add a huge switch() to gimp_layer_mode_get_composite_mode()
- Date: Sat, 21 Jan 2017 21:33:13 +0000 (UTC)
commit 7079d5f73056274fc7b99b965240eb37c433191d
Author: Michael Natterer <mitch gimp org>
Date: Sat Jan 21 22:26:35 2017 +0100
app: add a huge switch() to gimp_layer_mode_get_composite_mode()
It's going to be used to the UI too and should return something
to display, even if immutable.
app/core/gimp-layer-modes.c | 87 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 86 insertions(+), 1 deletions(-)
---
diff --git a/app/core/gimp-layer-modes.c b/app/core/gimp-layer-modes.c
index 8b9a6e4..6453e44 100644
--- a/app/core/gimp-layer-modes.c
+++ b/app/core/gimp-layer-modes.c
@@ -268,7 +268,92 @@ gimp_layer_mode_get_composite_space (GimpLayerMode mode)
GimpLayerCompositeMode
gimp_layer_mode_get_composite_mode (GimpLayerMode mode)
{
- return GIMP_LAYER_COMPOSITE_SRC_ATOP;
+ switch (mode)
+ {
+ case GIMP_LAYER_MODE_NORMAL_NON_LINEAR:
+ case GIMP_LAYER_MODE_DISSOLVE:
+ case GIMP_LAYER_MODE_BEHIND:
+ return GIMP_LAYER_COMPOSITE_SRC_OVER;
+
+ case GIMP_LAYER_MODE_MULTIPLY_LEGACY:
+ case GIMP_LAYER_MODE_SCREEN_LEGACY:
+ case GIMP_LAYER_MODE_OVERLAY_LEGACY:
+ case GIMP_LAYER_MODE_DIFFERENCE_LEGACY:
+ case GIMP_LAYER_MODE_ADDITION_LEGACY:
+ case GIMP_LAYER_MODE_SUBTRACT_LEGACY:
+ case GIMP_LAYER_MODE_DARKEN_ONLY_LEGACY:
+ case GIMP_LAYER_MODE_LIGHTEN_ONLY_LEGACY:
+ case GIMP_LAYER_MODE_HSV_HUE_LEGACY:
+ case GIMP_LAYER_MODE_HSV_SATURATION_LEGACY:
+ case GIMP_LAYER_MODE_HSV_COLOR_LEGACY:
+ case GIMP_LAYER_MODE_HSV_VALUE_LEGACY:
+ case GIMP_LAYER_MODE_DIVIDE_LEGACY:
+ case GIMP_LAYER_MODE_DODGE_LEGACY:
+ case GIMP_LAYER_MODE_BURN_LEGACY:
+ case GIMP_LAYER_MODE_HARDLIGHT_LEGACY:
+ case GIMP_LAYER_MODE_SOFTLIGHT_LEGACY:
+ case GIMP_LAYER_MODE_GRAIN_EXTRACT_LEGACY:
+ case GIMP_LAYER_MODE_GRAIN_MERGE_LEGACY:
+ return GIMP_LAYER_COMPOSITE_SRC_ATOP;
+
+ case GIMP_LAYER_MODE_COLOR_ERASE:
+ case GIMP_LAYER_MODE_OVERLAY:
+ return GIMP_LAYER_COMPOSITE_SRC_ATOP;
+
+ case GIMP_LAYER_MODE_LCH_HUE:
+ case GIMP_LAYER_MODE_LCH_CHROMA:
+ case GIMP_LAYER_MODE_LCH_COLOR:
+ case GIMP_LAYER_MODE_LCH_LIGHTNESS:
+ return GIMP_LAYER_COMPOSITE_SRC_ATOP;
+
+ case GIMP_LAYER_MODE_NORMAL:
+ return GIMP_LAYER_COMPOSITE_SRC_OVER;
+
+ case GIMP_LAYER_MODE_MULTIPLY:
+ case GIMP_LAYER_MODE_SCREEN:
+ case GIMP_LAYER_MODE_DIFFERENCE:
+ case GIMP_LAYER_MODE_ADDITION:
+ case GIMP_LAYER_MODE_SUBTRACT:
+ case GIMP_LAYER_MODE_DARKEN_ONLY:
+ case GIMP_LAYER_MODE_LIGHTEN_ONLY:
+ case GIMP_LAYER_MODE_HSV_HUE:
+ case GIMP_LAYER_MODE_HSV_SATURATION:
+ case GIMP_LAYER_MODE_HSV_COLOR:
+ case GIMP_LAYER_MODE_HSV_VALUE:
+ case GIMP_LAYER_MODE_DIVIDE:
+ case GIMP_LAYER_MODE_DODGE:
+ case GIMP_LAYER_MODE_BURN:
+ case GIMP_LAYER_MODE_HARDLIGHT:
+ case GIMP_LAYER_MODE_SOFTLIGHT:
+ case GIMP_LAYER_MODE_GRAIN_EXTRACT:
+ case GIMP_LAYER_MODE_GRAIN_MERGE:
+ return GIMP_LAYER_COMPOSITE_SRC_ATOP;
+
+ case GIMP_LAYER_MODE_BEHIND_LINEAR:
+ case GIMP_LAYER_MODE_MULTIPLY_LINEAR:
+ case GIMP_LAYER_MODE_SCREEN_LINEAR:
+ case GIMP_LAYER_MODE_OVERLAY_LINEAR:
+ case GIMP_LAYER_MODE_DIFFERENCE_LINEAR:
+ case GIMP_LAYER_MODE_ADDITION_LINEAR:
+ case GIMP_LAYER_MODE_SUBTRACT_LINEAR:
+ case GIMP_LAYER_MODE_DARKEN_ONLY_LINEAR:
+ case GIMP_LAYER_MODE_LIGHTEN_ONLY_LINEAR:
+ case GIMP_LAYER_MODE_DIVIDE_LINEAR:
+ case GIMP_LAYER_MODE_DODGE_LINEAR:
+ case GIMP_LAYER_MODE_BURN_LINEAR:
+ case GIMP_LAYER_MODE_HARDLIGHT_LINEAR:
+ case GIMP_LAYER_MODE_SOFTLIGHT_LINEAR:
+ case GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR:
+ case GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR:
+ return GIMP_LAYER_COMPOSITE_SRC_ATOP;
+
+ case GIMP_LAYER_MODE_ERASE:
+ case GIMP_LAYER_MODE_REPLACE:
+ case GIMP_LAYER_MODE_ANTI_ERASE:
+ return GIMP_LAYER_COMPOSITE_SRC_OVER;
+ }
+
+ return GIMP_LAYER_COMPOSITE_SRC_OVER;
}
const gchar *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]