/* LIBPIKA - The PIKA Library
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
 *
 * pikaimage_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_IMAGE_PDB_H__
#define __PIKA_IMAGE_PDB_H__

G_BEGIN_DECLS

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


gboolean                 pika_image_id_is_valid                (gint                 image_id);
PikaImage**              pika_get_images                       (gint                *num_images);
PikaImage*               pika_image_new                        (gint                 width,
                                                                gint                 height,
                                                                PikaImageBaseType    type);
PikaImage*               pika_image_new_with_precision         (gint                 width,
                                                                gint                 height,
                                                                PikaImageBaseType    type,
                                                                PikaPrecision        precision);
PikaImage*               pika_image_duplicate                  (PikaImage           *image);
gboolean                 pika_image_delete                     (PikaImage           *image);
PikaImageBaseType        pika_image_get_base_type              (PikaImage           *image);
PikaPrecision            pika_image_get_precision              (PikaImage           *image);
PikaLayerMode            pika_image_get_default_new_layer_mode (PikaImage           *image);
gint                     pika_image_get_width                  (PikaImage           *image);
gint                     pika_image_get_height                 (PikaImage           *image);
PikaLayer**              pika_image_get_layers                 (PikaImage           *image,
                                                                gint                *num_layers);
PikaChannel**            pika_image_get_channels               (PikaImage           *image,
                                                                gint                *num_channels);
PikaVectors**            pika_image_get_vectors                (PikaImage           *image,
                                                                gint                *num_vectors);
gboolean                 pika_image_unset_active_channel       (PikaImage           *image);
PikaLayer*               pika_image_get_floating_sel           (PikaImage           *image);
PikaDrawable*            pika_image_floating_sel_attached_to   (PikaImage           *image);
gboolean                 pika_image_pick_color                 (PikaImage           *image,
                                                                gint                 num_drawables,
                                                                const PikaItem     **drawables,
                                                                gdouble              x,
                                                                gdouble              y,
                                                                gboolean             sample_merged,
                                                                gboolean             sample_average,
                                                                gdouble              average_radius,
                                                                PikaRGB             *color);
PikaLayer*               pika_image_pick_correlate_layer       (PikaImage           *image,
                                                                gint                 x,
                                                                gint                 y);
gboolean                 pika_image_insert_layer               (PikaImage           *image,
                                                                PikaLayer           *layer,
                                                                PikaLayer           *parent,
                                                                gint                 position);
gboolean                 pika_image_remove_layer               (PikaImage           *image,
                                                                PikaLayer           *layer);
gboolean                 pika_image_freeze_layers              (PikaImage           *image);
gboolean                 pika_image_thaw_layers                (PikaImage           *image);
gboolean                 pika_image_insert_channel             (PikaImage           *image,
                                                                PikaChannel         *channel,
                                                                PikaChannel         *parent,
                                                                gint                 position);
gboolean                 pika_image_remove_channel             (PikaImage           *image,
                                                                PikaChannel         *channel);
gboolean                 pika_image_freeze_channels            (PikaImage           *image);
gboolean                 pika_image_thaw_channels              (PikaImage           *image);
gboolean                 pika_image_insert_vectors             (PikaImage           *image,
                                                                PikaVectors         *vectors,
                                                                PikaVectors         *parent,
                                                                gint                 position);
gboolean                 pika_image_remove_vectors             (PikaImage           *image,
                                                                PikaVectors         *vectors);
gboolean                 pika_image_freeze_vectors             (PikaImage           *image);
gboolean                 pika_image_thaw_vectors               (PikaImage           *image);
gint                     pika_image_get_item_position          (PikaImage           *image,
                                                                PikaItem            *item);
gboolean                 pika_image_raise_item                 (PikaImage           *image,
                                                                PikaItem            *item);
gboolean                 pika_image_lower_item                 (PikaImage           *image,
                                                                PikaItem            *item);
gboolean                 pika_image_raise_item_to_top          (PikaImage           *image,
                                                                PikaItem            *item);
gboolean                 pika_image_lower_item_to_bottom       (PikaImage           *image,
                                                                PikaItem            *item);
gboolean                 pika_image_reorder_item               (PikaImage           *image,
                                                                PikaItem            *item,
                                                                PikaItem            *parent,
                                                                gint                 position);
PikaLayer*               pika_image_flatten                    (PikaImage           *image);
PikaLayer*               pika_image_merge_visible_layers       (PikaImage           *image,
                                                                PikaMergeType        merge_type);
PikaLayer*               pika_image_merge_down                 (PikaImage           *image,
                                                                PikaLayer           *merge_layer,
                                                                PikaMergeType        merge_type);
PikaLayer*               pika_image_merge_layer_group          (PikaImage           *image,
                                                                PikaLayer           *layer_group);
G_GNUC_INTERNAL GBytes*  _pika_image_get_colormap              (PikaImage           *image);
G_GNUC_INTERNAL gboolean _pika_image_set_colormap              (PikaImage           *image,
                                                                GBytes              *colormap);
PikaPalette*             pika_image_get_palette                (PikaImage           *image);
G_GNUC_INTERNAL gchar*   _pika_image_get_metadata              (PikaImage           *image);
G_GNUC_INTERNAL gboolean _pika_image_set_metadata              (PikaImage           *image,
                                                                const gchar         *metadata_string);
gboolean                 pika_image_clean_all                  (PikaImage           *image);
gboolean                 pika_image_is_dirty                   (PikaImage           *image);
G_GNUC_INTERNAL gboolean _pika_image_thumbnail                 (PikaImage           *image,
                                                                gint                 width,
                                                                gint                 height,
                                                                gint                *actual_width,
                                                                gint                *actual_height,
                                                                gint                *bpp,
                                                                GBytes             **thumbnail_data);
PikaLayer**              pika_image_get_selected_layers        (PikaImage           *image,
                                                                gint                *num_layers);
gboolean                 pika_image_set_selected_layers        (PikaImage           *image,
                                                                gint                 num_layers,
                                                                const PikaLayer    **layers);
PikaChannel**            pika_image_get_selected_channels      (PikaImage           *image,
                                                                gint                *num_channels);
gboolean                 pika_image_set_selected_channels      (PikaImage           *image,
                                                                gint                 num_channels,
                                                                const PikaChannel  **channels);
PikaVectors**            pika_image_get_selected_vectors       (PikaImage           *image,
                                                                gint                *num_vectors);
gboolean                 pika_image_set_selected_vectors       (PikaImage           *image,
                                                                gint                 num_vectors,
                                                                const PikaVectors  **vectors);
PikaItem**               pika_image_get_selected_drawables     (PikaImage           *image,
                                                                gint                *num_drawables);
PikaSelection*           pika_image_get_selection              (PikaImage           *image);
gboolean                 pika_image_get_component_active       (PikaImage           *image,
                                                                PikaChannelType      component);
gboolean                 pika_image_set_component_active       (PikaImage           *image,
                                                                PikaChannelType      component,
                                                                gboolean             active);
gboolean                 pika_image_get_component_visible      (PikaImage           *image,
                                                                PikaChannelType      component);
gboolean                 pika_image_set_component_visible      (PikaImage           *image,
                                                                PikaChannelType      component,
                                                                gboolean             visible);
GFile*                   pika_image_get_file                   (PikaImage           *image);
gboolean                 pika_image_set_file                   (PikaImage           *image,
                                                                GFile               *file);
GFile*                   pika_image_get_xcf_file               (PikaImage           *image);
GFile*                   pika_image_get_imported_file          (PikaImage           *image);
GFile*                   pika_image_get_exported_file          (PikaImage           *image);
gchar*                   pika_image_get_name                   (PikaImage           *image);
gboolean                 pika_image_get_resolution             (PikaImage           *image,
                                                                gdouble             *xresolution,
                                                                gdouble             *yresolution);
gboolean                 pika_image_set_resolution             (PikaImage           *image,
                                                                gdouble              xresolution,
                                                                gdouble              yresolution);
PikaUnit                 pika_image_get_unit                   (PikaImage           *image);
gboolean                 pika_image_set_unit                   (PikaImage           *image,
                                                                PikaUnit             unit);
guint                    pika_image_get_tattoo_state           (PikaImage           *image);
gboolean                 pika_image_set_tattoo_state           (PikaImage           *image,
                                                                guint                tattoo_state);
PikaLayer*               pika_image_get_layer_by_tattoo        (PikaImage           *image,
                                                                guint                tattoo);
PikaChannel*             pika_image_get_channel_by_tattoo      (PikaImage           *image,
                                                                guint                tattoo);
PikaVectors*             pika_image_get_vectors_by_tattoo      (PikaImage           *image,
                                                                guint                tattoo);
PikaLayer*               pika_image_get_layer_by_name          (PikaImage           *image,
                                                                const gchar         *name);
PikaChannel*             pika_image_get_channel_by_name        (PikaImage           *image,
                                                                const gchar         *name);
PikaVectors*             pika_image_get_vectors_by_name        (PikaImage           *image,
                                                                const gchar         *name);
gboolean                 pika_image_attach_parasite            (PikaImage           *image,
                                                                const PikaParasite  *parasite);
gboolean                 pika_image_detach_parasite            (PikaImage           *image,
                                                                const gchar         *name);
PikaParasite*            pika_image_get_parasite               (PikaImage           *image,
                                                                const gchar         *name);
gchar**                  pika_image_get_parasite_list          (PikaImage           *image);
gboolean                 pika_image_policy_rotate              (PikaImage           *image,
                                                                gboolean             interactive);
gboolean                 pika_image_policy_color_profile       (PikaImage           *image,
                                                                gboolean             interactive);


G_END_DECLS

#endif /* __PIKA_IMAGE_PDB_H__ */
