[gimp] app: introduce XCF version 10 for the new layer modes
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: introduce XCF version 10 for the new layer modes
- Date: Mon, 20 Feb 2017 17:32:51 +0000 (UTC)
commit fa18c25e9429e8524ee4114faffbaed15ec05aa7
Author: Michael Natterer <mitch gimp org>
Date: Mon Feb 20 18:31:21 2017 +0100
app: introduce XCF version 10 for the new layer modes
Also, list all modes explitly in gimp_image_get_xcf_version() (no
default:) so we get a compiler warning if we forget to to add new
modes here.
app/core/gimpimage.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 3 deletions(-)
---
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index 5a81a91..e8e1074 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -2393,7 +2393,29 @@ gimp_image_get_xcf_version (GimpImage *image,
switch (gimp_layer_get_mode (layer))
{
- /* new layer modes not supported by gimp-1.2 */
+ /* Modes that exist since ancient times */
+ case GIMP_LAYER_MODE_NORMAL:
+ case GIMP_LAYER_MODE_DISSOLVE:
+ case GIMP_LAYER_MODE_BEHIND_LEGACY:
+ 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:
+ break;
+
+ /* Since 2.8 */
case GIMP_LAYER_MODE_SOFTLIGHT_LEGACY:
case GIMP_LAYER_MODE_GRAIN_EXTRACT_LEGACY:
case GIMP_LAYER_MODE_GRAIN_MERGE_LEGACY:
@@ -2401,7 +2423,7 @@ gimp_image_get_xcf_version (GimpImage *image,
version = MAX (2, version);
break;
- /* new layer modes not supported by gimp-2.8 */
+ /* Since 2.10 */
case GIMP_LAYER_MODE_OVERLAY:
case GIMP_LAYER_MODE_LCH_HUE:
case GIMP_LAYER_MODE_LCH_CHROMA:
@@ -2410,7 +2432,44 @@ gimp_image_get_xcf_version (GimpImage *image,
version = MAX (9, version);
break;
- default:
+ /* Since 2.10 */
+ case GIMP_LAYER_MODE_NORMAL_LINEAR:
+ case GIMP_LAYER_MODE_BEHIND:
+ 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:
+ case GIMP_LAYER_MODE_VIVID_LIGHT:
+ case GIMP_LAYER_MODE_PIN_LIGHT:
+ case GIMP_LAYER_MODE_LINEAR_LIGHT:
+ case GIMP_LAYER_MODE_HARD_MIX:
+ case GIMP_LAYER_MODE_EXCLUSION:
+ case GIMP_LAYER_MODE_LINEAR_BURN:
+ case GIMP_LAYER_MODE_LUMA_DARKEN_ONLY:
+ case GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY:
+ case GIMP_LAYER_MODE_LUMINANCE:
+ version = MAX (10, version);
+ break;
+
+ /* Just here instead of default so we get compiler warnings */
+ case GIMP_LAYER_MODE_ERASE:
+ case GIMP_LAYER_MODE_REPLACE:
+ case GIMP_LAYER_MODE_ANTI_ERASE:
+ case GIMP_LAYER_MODE_SEPARATOR:
break;
}
@@ -2453,6 +2512,7 @@ gimp_image_get_xcf_version (GimpImage *image,
case 7:
case 8:
case 9:
+ case 10:
if (gimp_version) *gimp_version = 210;
if (version_string) *version_string = "GIMP 2.10";
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]