GimpDrawable

GimpDrawable

Synopsis

                    GimpDrawable;
                    GimpDrawablePrivate;
GimpDrawable *      gimp_drawable_new                   (GType type,
                                                         GimpImage *image,
                                                         const gchar *name,
                                                         gint offset_x,
                                                         gint offset_y,
                                                         gint width,
                                                         gint height,
                                                         GimpImageType image_type);
gint64              gimp_drawable_estimate_memsize      (const GimpDrawable *drawable,
                                                         gint width,
                                                         gint height);
void                gimp_drawable_update                (GimpDrawable *drawable,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);
void                gimp_drawable_alpha_changed         (GimpDrawable *drawable);
void                gimp_drawable_invalidate_boundary   (GimpDrawable *drawable);
void                gimp_drawable_get_active_components (const GimpDrawable *drawable,
                                                         gboolean *active);
void                gimp_drawable_convert_type          (GimpDrawable *drawable,
                                                         GimpImage *dest_image,
                                                         GimpImageBaseType new_base_type,
                                                         gboolean push_undo);
void                gimp_drawable_apply_region          (GimpDrawable *drawable,
                                                         PixelRegion *src2PR,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         gdouble opacity,
                                                         GimpLayerModeEffects mode,
                                                         TileManager *src1_tiles,
                                                         PixelRegion *destPR,
                                                         gint x,
                                                         gint y);
void                gimp_drawable_replace_region        (GimpDrawable *drawable,
                                                         PixelRegion *src2PR,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         gdouble opacity,
                                                         PixelRegion *maskPR,
                                                         gint x,
                                                         gint y);
void                gimp_drawable_project_region        (GimpDrawable *drawable,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         PixelRegion *projPR,
                                                         gboolean combine);
void                gimp_drawable_init_src_region       (GimpDrawable *drawable,
                                                         PixelRegion *srcPR,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         TileManager **temp_tiles);
TileManager *       gimp_drawable_get_tiles             (GimpDrawable *drawable);
void                gimp_drawable_set_tiles             (GimpDrawable *drawable,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         TileManager *tiles,
                                                         GimpImageType type);
void                gimp_drawable_set_tiles_full        (GimpDrawable *drawable,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         TileManager *tiles,
                                                         GimpImageType type,
                                                         gint offset_x,
                                                         gint offset_y);
GeglNode *          gimp_drawable_get_source_node       (GimpDrawable *drawable);
GeglNode *          gimp_drawable_get_mode_node         (GimpDrawable *drawable);
void                gimp_drawable_swap_pixels           (GimpDrawable *drawable,
                                                         TileManager *tiles,
                                                         gboolean sparse,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);
void                gimp_drawable_push_undo             (GimpDrawable *drawable,
                                                         const gchar *undo_desc,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         TileManager *tiles,
                                                         gboolean sparse);
void                gimp_drawable_fill                  (GimpDrawable *drawable,
                                                         const GimpRGB *color,
                                                         const GimpPattern *pattern);
void                gimp_drawable_fill_by_type          (GimpDrawable *drawable,
                                                         GimpContext *context,
                                                         GimpFillType fill_type);
gboolean            gimp_drawable_has_alpha             (const GimpDrawable *drawable);
GimpImageType       gimp_drawable_type                  (const GimpDrawable *drawable);
GimpImageType       gimp_drawable_type_with_alpha       (const GimpDrawable *drawable);
GimpImageType       gimp_drawable_type_without_alpha    (const GimpDrawable *drawable);
gboolean            gimp_drawable_is_rgb                (const GimpDrawable *drawable);
gboolean            gimp_drawable_is_gray               (const GimpDrawable *drawable);
gboolean            gimp_drawable_is_indexed            (const GimpDrawable *drawable);
gint                gimp_drawable_bytes                 (const GimpDrawable *drawable);
gint                gimp_drawable_bytes_with_alpha      (const GimpDrawable *drawable);
gint                gimp_drawable_bytes_without_alpha   (const GimpDrawable *drawable);
const guchar *      gimp_drawable_get_colormap          (const GimpDrawable *drawable);
GimpLayer *         gimp_drawable_get_floating_sel      (const GimpDrawable *drawable);
void                gimp_drawable_attach_floating_sel   (GimpDrawable *drawable,
                                                         GimpLayer *floating_sel);
void                gimp_drawable_detach_floating_sel   (GimpDrawable *drawable);

Object Hierarchy

  GObject
   +----GimpObject
         +----GimpViewable
               +----GimpItem
                     +----GimpDrawable
                           +----GimpChannel
                           +----GimpLayer

Implemented Interfaces

GimpDrawable implements GimpConfigInterface and GimpPickableInterface.

Signals

  "alpha-changed"                                  : Run First
  "update"                                         : Run First

Description

Details

GimpDrawable

typedef struct _GimpDrawable GimpDrawable;


GimpDrawablePrivate

typedef struct {
  GimpImageType  type;   /* type of drawable        */

  TileManager   *tiles;  /* tiles for drawable data */
  TileManager   *shadow; /* shadow buffer tiles     */

  GeglNode      *source_node;
  GeglNode      *tile_source_node;

  GimpLayer     *floating_selection;
  GeglNode      *fs_crop_node;
  GeglNode      *fs_opacity_node;
  GeglNode      *fs_offset_node;
  GeglNode      *fs_mode_node;

  GeglNode      *mode_node;

  GSList        *preview_cache; /* preview caches of the channel */
  gboolean       preview_valid; /* is the preview valid?         */
} GimpDrawablePrivate;


gimp_drawable_new ()

GimpDrawable *      gimp_drawable_new                   (GType type,
                                                         GimpImage *image,
                                                         const gchar *name,
                                                         gint offset_x,
                                                         gint offset_y,
                                                         gint width,
                                                         gint height,
                                                         GimpImageType image_type);


gimp_drawable_estimate_memsize ()

gint64              gimp_drawable_estimate_memsize      (const GimpDrawable *drawable,
                                                         gint width,
                                                         gint height);


gimp_drawable_update ()

void                gimp_drawable_update                (GimpDrawable *drawable,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);


gimp_drawable_alpha_changed ()

void                gimp_drawable_alpha_changed         (GimpDrawable *drawable);


gimp_drawable_invalidate_boundary ()

void                gimp_drawable_invalidate_boundary   (GimpDrawable *drawable);


gimp_drawable_get_active_components ()

void                gimp_drawable_get_active_components (const GimpDrawable *drawable,
                                                         gboolean *active);


gimp_drawable_convert_type ()

void                gimp_drawable_convert_type          (GimpDrawable *drawable,
                                                         GimpImage *dest_image,
                                                         GimpImageBaseType new_base_type,
                                                         gboolean push_undo);


gimp_drawable_apply_region ()

void                gimp_drawable_apply_region          (GimpDrawable *drawable,
                                                         PixelRegion *src2PR,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         gdouble opacity,
                                                         GimpLayerModeEffects mode,
                                                         TileManager *src1_tiles,
                                                         PixelRegion *destPR,
                                                         gint x,
                                                         gint y);


gimp_drawable_replace_region ()

void                gimp_drawable_replace_region        (GimpDrawable *drawable,
                                                         PixelRegion *src2PR,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         gdouble opacity,
                                                         PixelRegion *maskPR,
                                                         gint x,
                                                         gint y);


gimp_drawable_project_region ()

void                gimp_drawable_project_region        (GimpDrawable *drawable,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         PixelRegion *projPR,
                                                         gboolean combine);


gimp_drawable_init_src_region ()

void                gimp_drawable_init_src_region       (GimpDrawable *drawable,
                                                         PixelRegion *srcPR,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         TileManager **temp_tiles);


gimp_drawable_get_tiles ()

TileManager *       gimp_drawable_get_tiles             (GimpDrawable *drawable);


gimp_drawable_set_tiles ()

void                gimp_drawable_set_tiles             (GimpDrawable *drawable,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         TileManager *tiles,
                                                         GimpImageType type);


gimp_drawable_set_tiles_full ()

void                gimp_drawable_set_tiles_full        (GimpDrawable *drawable,
                                                         gboolean push_undo,
                                                         const gchar *undo_desc,
                                                         TileManager *tiles,
                                                         GimpImageType type,
                                                         gint offset_x,
                                                         gint offset_y);


gimp_drawable_get_source_node ()

GeglNode *          gimp_drawable_get_source_node       (GimpDrawable *drawable);


gimp_drawable_get_mode_node ()

GeglNode *          gimp_drawable_get_mode_node         (GimpDrawable *drawable);


gimp_drawable_swap_pixels ()

void                gimp_drawable_swap_pixels           (GimpDrawable *drawable,
                                                         TileManager *tiles,
                                                         gboolean sparse,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);


gimp_drawable_push_undo ()

void                gimp_drawable_push_undo             (GimpDrawable *drawable,
                                                         const gchar *undo_desc,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         TileManager *tiles,
                                                         gboolean sparse);


gimp_drawable_fill ()

void                gimp_drawable_fill                  (GimpDrawable *drawable,
                                                         const GimpRGB *color,
                                                         const GimpPattern *pattern);


gimp_drawable_fill_by_type ()

void                gimp_drawable_fill_by_type          (GimpDrawable *drawable,
                                                         GimpContext *context,
                                                         GimpFillType fill_type);


gimp_drawable_has_alpha ()

gboolean            gimp_drawable_has_alpha             (const GimpDrawable *drawable);


gimp_drawable_type ()

GimpImageType       gimp_drawable_type                  (const GimpDrawable *drawable);


gimp_drawable_type_with_alpha ()

GimpImageType       gimp_drawable_type_with_alpha       (const GimpDrawable *drawable);


gimp_drawable_type_without_alpha ()

GimpImageType       gimp_drawable_type_without_alpha    (const GimpDrawable *drawable);


gimp_drawable_is_rgb ()

gboolean            gimp_drawable_is_rgb                (const GimpDrawable *drawable);


gimp_drawable_is_gray ()

gboolean            gimp_drawable_is_gray               (const GimpDrawable *drawable);


gimp_drawable_is_indexed ()

gboolean            gimp_drawable_is_indexed            (const GimpDrawable *drawable);


gimp_drawable_bytes ()

gint                gimp_drawable_bytes                 (const GimpDrawable *drawable);


gimp_drawable_bytes_with_alpha ()

gint                gimp_drawable_bytes_with_alpha      (const GimpDrawable *drawable);


gimp_drawable_bytes_without_alpha ()

gint                gimp_drawable_bytes_without_alpha   (const GimpDrawable *drawable);


gimp_drawable_get_colormap ()

const guchar *      gimp_drawable_get_colormap          (const GimpDrawable *drawable);


gimp_drawable_get_floating_sel ()

GimpLayer *         gimp_drawable_get_floating_sel      (const GimpDrawable *drawable);


gimp_drawable_attach_floating_sel ()

void                gimp_drawable_attach_floating_sel   (GimpDrawable *drawable,
                                                         GimpLayer *floating_sel);


gimp_drawable_detach_floating_sel ()

void                gimp_drawable_detach_floating_sel   (GimpDrawable *drawable);

Signal Details

The "alpha-changed" signal

void                user_function                      (GimpDrawable *gimpdrawable,
                                                        gpointer      user_data)         : Run First

gimpdrawable :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "update" signal

void                user_function                      (GimpDrawable *gimpdrawable,
                                                        gint          arg1,
                                                        gint          arg2,
                                                        gint          arg3,
                                                        gint          arg4,
                                                        gpointer      user_data)         : Run First

gimpdrawable :

the object which received the signal.

user_data :

user data set when the signal handler was connected.