gimp/libgimp/gimpgradient_pdb.h
Jehan b6856af9d8 app: GimpGradient now uses GeglColor.
I still see some limitations in GimpGradient, and in particular, they are still
always stored as RGB in GGR files. It would be nice if we could store the actual
color format. This way, if someone chooses a gradient stop as Lab or CMYK color,
that's what the gradient file would keep track of. But also even storing the
space of a color (instead of storing/loading always in sRGB, even though this
may still work fine as we store unbounded double values). This might warrant for
a v2 of GGR file format.

This commit also fixes loading of SVG gradient which was apparently broken
regarding hexadecimal color parsing.

Finally I improve gegl_color_set_alpha() by adding an alpha channel when the
initial format had none.
2024-02-11 23:28:03 +01:00

129 lines
10 KiB
C

/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
*
* gimpgradient_pdb.h
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <https://www.gnu.org/licenses/>.
*/
/* NOTE: This file is auto-generated by pdbgen.pl */
#if !defined (__GIMP_H_INSIDE__) && !defined (GIMP_COMPILATION)
#error "Only <libgimp/gimp.h> can be included directly."
#endif
#ifndef __GIMP_GRADIENT_PDB_H__
#define __GIMP_GRADIENT_PDB_H__
G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
GimpGradient* gimp_gradient_new (const gchar *name);
GimpGradient* gimp_gradient_get_by_name (const gchar *name);
gint gimp_gradient_get_number_of_segments (GimpGradient *gradient);
gboolean gimp_gradient_get_uniform_samples (GimpGradient *gradient,
gint num_samples,
gboolean reverse,
gint *num_color_samples,
gdouble **color_samples);
gboolean gimp_gradient_get_custom_samples (GimpGradient *gradient,
gint num_samples,
const gdouble *positions,
gboolean reverse,
gint *num_color_samples,
gdouble **color_samples);
GeglColor* gimp_gradient_segment_get_left_color (GimpGradient *gradient,
gint segment);
gboolean gimp_gradient_segment_set_left_color (GimpGradient *gradient,
gint segment,
GeglColor *color);
GeglColor* gimp_gradient_segment_get_right_color (GimpGradient *gradient,
gint segment);
gboolean gimp_gradient_segment_set_right_color (GimpGradient *gradient,
gint segment,
GeglColor *color);
gboolean gimp_gradient_segment_get_left_pos (GimpGradient *gradient,
gint segment,
gdouble *pos);
gboolean gimp_gradient_segment_set_left_pos (GimpGradient *gradient,
gint segment,
gdouble pos,
gdouble *final_pos);
gboolean gimp_gradient_segment_get_middle_pos (GimpGradient *gradient,
gint segment,
gdouble *pos);
gboolean gimp_gradient_segment_set_middle_pos (GimpGradient *gradient,
gint segment,
gdouble pos,
gdouble *final_pos);
gboolean gimp_gradient_segment_get_right_pos (GimpGradient *gradient,
gint segment,
gdouble *pos);
gboolean gimp_gradient_segment_set_right_pos (GimpGradient *gradient,
gint segment,
gdouble pos,
gdouble *final_pos);
gboolean gimp_gradient_segment_get_blending_function (GimpGradient *gradient,
gint segment,
GimpGradientSegmentType *blend_func);
gboolean gimp_gradient_segment_get_coloring_type (GimpGradient *gradient,
gint segment,
GimpGradientSegmentColor *coloring_type);
gboolean gimp_gradient_segment_range_set_blending_function (GimpGradient *gradient,
gint start_segment,
gint end_segment,
GimpGradientSegmentType blending_function);
gboolean gimp_gradient_segment_range_set_coloring_type (GimpGradient *gradient,
gint start_segment,
gint end_segment,
GimpGradientSegmentColor coloring_type);
gboolean gimp_gradient_segment_range_flip (GimpGradient *gradient,
gint start_segment,
gint end_segment);
gboolean gimp_gradient_segment_range_replicate (GimpGradient *gradient,
gint start_segment,
gint end_segment,
gint replicate_times);
gboolean gimp_gradient_segment_range_split_midpoint (GimpGradient *gradient,
gint start_segment,
gint end_segment);
gboolean gimp_gradient_segment_range_split_uniform (GimpGradient *gradient,
gint start_segment,
gint end_segment,
gint split_parts);
gboolean gimp_gradient_segment_range_delete (GimpGradient *gradient,
gint start_segment,
gint end_segment);
gboolean gimp_gradient_segment_range_redistribute_handles (GimpGradient *gradient,
gint start_segment,
gint end_segment);
gboolean gimp_gradient_segment_range_blend_colors (GimpGradient *gradient,
gint start_segment,
gint end_segment);
gboolean gimp_gradient_segment_range_blend_opacity (GimpGradient *gradient,
gint start_segment,
gint end_segment);
gdouble gimp_gradient_segment_range_move (GimpGradient *gradient,
gint start_segment,
gint end_segment,
gdouble delta,
gboolean control_compress);
G_END_DECLS
#endif /* __GIMP_GRADIENT_PDB_H__ */