[gimp/gimp-2-10] app: add gimp_babl_format_change_{component_type, linear}()
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-10] app: add gimp_babl_format_change_{component_type, linear}()
- Date: Wed, 20 Mar 2019 20:28:19 +0000 (UTC)
commit 2a2ad4324d564192791beb6b780744db33d7fdc0
Author: Ell <ell_se yahoo com>
Date: Wed Mar 20 09:18:12 2019 -0400
app: add gimp_babl_format_change_{component_type,linear}()
... which change a format's component-type/TRC, without otherwise
affecting it.
app/gegl/gimp-babl.c | 26 +++++++++++++++++++++
app/gegl/gimp-babl.h | 65 ++++++++++++++++++++++++++++------------------------
2 files changed, 61 insertions(+), 30 deletions(-)
---
diff --git a/app/gegl/gimp-babl.c b/app/gegl/gimp-babl.c
index 8e574802ac..b2dc20a859 100644
--- a/app/gegl/gimp-babl.c
+++ b/app/gegl/gimp-babl.c
@@ -1285,6 +1285,32 @@ gimp_babl_component_format (GimpImageBaseType base_type,
g_return_val_if_reached (NULL);
}
+const Babl *
+gimp_babl_format_change_component_type (const Babl *format,
+ GimpComponentType component)
+{
+ g_return_val_if_fail (format != NULL, NULL);
+
+ return gimp_babl_format (gimp_babl_format_get_base_type (format),
+ gimp_babl_precision (
+ component,
+ gimp_babl_format_get_linear (format)),
+ babl_format_has_alpha (format));
+}
+
+const Babl *
+gimp_babl_format_change_linear (const Babl *format,
+ gboolean linear)
+{
+ g_return_val_if_fail (format != NULL, NULL);
+
+ return gimp_babl_format (gimp_babl_format_get_base_type (format),
+ gimp_babl_precision (
+ gimp_babl_format_get_component_type (format),
+ linear),
+ babl_format_has_alpha (format));
+}
+
gchar **
gimp_babl_print_pixel (const Babl *format,
gpointer pixel)
diff --git a/app/gegl/gimp-babl.h b/app/gegl/gimp-babl.h
index 254f45980d..3062e02425 100644
--- a/app/gegl/gimp-babl.h
+++ b/app/gegl/gimp-babl.h
@@ -22,36 +22,41 @@
#define __GIMP_BABL_H__
-void gimp_babl_init (void);
-void gimp_babl_init_fishes (GimpInitStatusFunc status_callback);
-
-const gchar * gimp_babl_format_get_description (const Babl *format);
-GimpColorProfile * gimp_babl_format_get_color_profile (const Babl *format);
-
-GimpImageBaseType gimp_babl_format_get_base_type (const Babl *format);
-GimpComponentType gimp_babl_format_get_component_type (const Babl *format);
-GimpPrecision gimp_babl_format_get_precision (const Babl *format);
-gboolean gimp_babl_format_get_linear (const Babl *format);
-
-GimpComponentType gimp_babl_component_type (GimpPrecision precision);
-gboolean gimp_babl_linear (GimpPrecision precision);
-GimpPrecision gimp_babl_precision (GimpComponentType component,
- gboolean linear);
-
-gboolean gimp_babl_is_valid (GimpImageBaseType base_type,
- GimpPrecision precision);
-GimpComponentType gimp_babl_is_bounded (GimpPrecision precision);
-
-const Babl * gimp_babl_format (GimpImageBaseType base_type,
- GimpPrecision precision,
- gboolean with_alpha);
-const Babl * gimp_babl_mask_format (GimpPrecision precision);
-const Babl * gimp_babl_component_format (GimpImageBaseType base_type,
- GimpPrecision precision,
- gint index);
-
-gchar ** gimp_babl_print_pixel (const Babl *format,
- gpointer pixel);
+void gimp_babl_init (void);
+void gimp_babl_init_fishes (GimpInitStatusFunc status_callback);
+
+const gchar * gimp_babl_format_get_description (const Babl *format);
+GimpColorProfile * gimp_babl_format_get_color_profile (const Babl *format);
+
+GimpImageBaseType gimp_babl_format_get_base_type (const Babl *format);
+GimpComponentType gimp_babl_format_get_component_type (const Babl *format);
+GimpPrecision gimp_babl_format_get_precision (const Babl *format);
+gboolean gimp_babl_format_get_linear (const Babl *format);
+
+GimpComponentType gimp_babl_component_type (GimpPrecision precision);
+gboolean gimp_babl_linear (GimpPrecision precision);
+GimpPrecision gimp_babl_precision (GimpComponentType component,
+ gboolean linear);
+
+gboolean gimp_babl_is_valid (GimpImageBaseType base_type,
+ GimpPrecision precision);
+GimpComponentType gimp_babl_is_bounded (GimpPrecision precision);
+
+const Babl * gimp_babl_format (GimpImageBaseType base_type,
+ GimpPrecision precision,
+ gboolean with_alpha);
+const Babl * gimp_babl_mask_format (GimpPrecision precision);
+const Babl * gimp_babl_component_format (GimpImageBaseType base_type,
+ GimpPrecision precision,
+ gint index);
+
+const Babl * gimp_babl_format_change_component_type (const Babl *format,
+ GimpComponentType component);
+const Babl * gimp_babl_format_change_linear (const Babl *format,
+ gboolean linear);
+
+gchar ** gimp_babl_print_pixel (const Babl *format,
+ gpointer pixel);
#endif /* __GIMP_BABL_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]