/* LIBPIKA - The PIKA Library
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
 *
 * pikagradient_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 (__PIKA_H_INSIDE__) && !defined (PIKA_COMPILATION)
#error "Only <libpika/pika.h> can be included directly."
#endif

#ifndef __PIKA_GRADIENT_PDB_H__
#define __PIKA_GRADIENT_PDB_H__

G_BEGIN_DECLS

/* For information look into the C source or the html documentation */


PikaGradient* pika_gradient_new                                 (const gchar               *name);
PikaGradient* pika_gradient_get_by_name                         (const gchar               *name);
gint          pika_gradient_get_number_of_segments              (PikaGradient              *gradient);
gboolean      pika_gradient_get_uniform_samples                 (PikaGradient              *gradient,
                                                                 gint                       num_samples,
                                                                 gboolean                   reverse,
                                                                 gint                      *num_color_samples,
                                                                 gdouble                  **color_samples);
gboolean      pika_gradient_get_custom_samples                  (PikaGradient              *gradient,
                                                                 gint                       num_samples,
                                                                 const gdouble             *positions,
                                                                 gboolean                   reverse,
                                                                 gint                      *num_color_samples,
                                                                 gdouble                  **color_samples);
gboolean      pika_gradient_segment_get_left_color              (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 PikaRGB                   *color,
                                                                 gdouble                   *opacity);
gboolean      pika_gradient_segment_set_left_color              (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 const PikaRGB             *color,
                                                                 gdouble                    opacity);
gboolean      pika_gradient_segment_get_right_color             (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 PikaRGB                   *color,
                                                                 gdouble                   *opacity);
gboolean      pika_gradient_segment_set_right_color             (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 const PikaRGB             *color,
                                                                 gdouble                    opacity);
gboolean      pika_gradient_segment_get_left_pos                (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 gdouble                   *pos);
gboolean      pika_gradient_segment_set_left_pos                (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 gdouble                    pos,
                                                                 gdouble                   *final_pos);
gboolean      pika_gradient_segment_get_middle_pos              (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 gdouble                   *pos);
gboolean      pika_gradient_segment_set_middle_pos              (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 gdouble                    pos,
                                                                 gdouble                   *final_pos);
gboolean      pika_gradient_segment_get_right_pos               (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 gdouble                   *pos);
gboolean      pika_gradient_segment_set_right_pos               (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 gdouble                    pos,
                                                                 gdouble                   *final_pos);
gboolean      pika_gradient_segment_get_blending_function       (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 PikaGradientSegmentType   *blend_func);
gboolean      pika_gradient_segment_get_coloring_type           (PikaGradient              *gradient,
                                                                 gint                       segment,
                                                                 PikaGradientSegmentColor  *coloring_type);
gboolean      pika_gradient_segment_range_set_blending_function (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment,
                                                                 PikaGradientSegmentType    blending_function);
gboolean      pika_gradient_segment_range_set_coloring_type     (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment,
                                                                 PikaGradientSegmentColor   coloring_type);
gboolean      pika_gradient_segment_range_flip                  (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment);
gboolean      pika_gradient_segment_range_replicate             (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment,
                                                                 gint                       replicate_times);
gboolean      pika_gradient_segment_range_split_midpoint        (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment);
gboolean      pika_gradient_segment_range_split_uniform         (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment,
                                                                 gint                       split_parts);
gboolean      pika_gradient_segment_range_delete                (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment);
gboolean      pika_gradient_segment_range_redistribute_handles  (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment);
gboolean      pika_gradient_segment_range_blend_colors          (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment);
gboolean      pika_gradient_segment_range_blend_opacity         (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment);
gdouble       pika_gradient_segment_range_move                  (PikaGradient              *gradient,
                                                                 gint                       start_segment,
                                                                 gint                       end_segment,
                                                                 gdouble                    delta,
                                                                 gboolean                   control_compress);


G_END_DECLS

#endif /* __PIKA_GRADIENT_PDB_H__ */
