mirror of https://github.com/GNOME/gimp.git
removed the "Layer" typedef.
2001-01-29 Michael Natterer <mitch@gimp.org> * app/apptypes.h: removed the "Layer" typedef. * app/layer.[ch]: removed the defines of the old function names. Don't implement methods of the parent class (get_name, get_tattoo, ...) but define them as macros. They will go to a separate "pdb_glue.h" header because they are used only by the PDB to simplify code generation (no application file should say gimp_layer_get_tattoo() but always gimp_drawable_get_tatoo()). * app/channel.h * app/channel_ops.c * app/channels_dialog.c * app/commands.c * app/convert.c * app/disp_callbacks.c * app/floating_sel.[ch] * app/gdisplay.c * app/gimage.c * app/gimage_mask.c * app/gimage_mask.h * app/gimpdnd.c * app/gimpdrawable.h * app/gimpimage.[ch] * app/gimplayermask.h * app/global_edit.c * app/image_new.c * app/layer_select.c * app/layers_dialog.c * app/resize.c * app/undo.c * app/xcf.[ch] * app/pdb/drawable_cmds.c * app/pdb/floating_sel_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/tools/bucket_fill.c * app/tools/by_color_select.c * app/tools/clone.c * app/tools/crop.c * app/tools/edit_selection.c * app/tools/ink.c * app/tools/move.c * app/tools/paint_core.c * app/tools/rect_select.c * app/tools/text_tool.c * app/tools/transform_core.c * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/floating_sel.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb: changed accordingly, cleanup.
This commit is contained in:
parent
8ddebdf79a
commit
a2ae989ff3
54
ChangeLog
54
ChangeLog
|
@ -1,3 +1,57 @@
|
|||
2001-01-29 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/apptypes.h: removed the "Layer" typedef.
|
||||
|
||||
* app/layer.[ch]: removed the defines of the old function names.
|
||||
|
||||
Don't implement methods of the parent class (get_name, get_tattoo, ...)
|
||||
but define them as macros. They will go to a separate "pdb_glue.h"
|
||||
header because they are used only by the PDB to simplify code
|
||||
generation (no application file should say gimp_layer_get_tattoo()
|
||||
but always gimp_drawable_get_tatoo()).
|
||||
|
||||
* app/channel.h
|
||||
* app/channel_ops.c
|
||||
* app/channels_dialog.c
|
||||
* app/commands.c
|
||||
* app/convert.c
|
||||
* app/disp_callbacks.c
|
||||
* app/floating_sel.[ch]
|
||||
* app/gdisplay.c
|
||||
* app/gimage.c
|
||||
* app/gimage_mask.c
|
||||
* app/gimage_mask.h
|
||||
* app/gimpdnd.c
|
||||
* app/gimpdrawable.h
|
||||
* app/gimpimage.[ch]
|
||||
* app/gimplayermask.h
|
||||
* app/global_edit.c
|
||||
* app/image_new.c
|
||||
* app/layer_select.c
|
||||
* app/layers_dialog.c
|
||||
* app/resize.c
|
||||
* app/undo.c
|
||||
* app/xcf.[ch]
|
||||
* app/pdb/drawable_cmds.c
|
||||
* app/pdb/floating_sel_cmds.c
|
||||
* app/pdb/image_cmds.c
|
||||
* app/pdb/layer_cmds.c
|
||||
* app/tools/bucket_fill.c
|
||||
* app/tools/by_color_select.c
|
||||
* app/tools/clone.c
|
||||
* app/tools/crop.c
|
||||
* app/tools/edit_selection.c
|
||||
* app/tools/ink.c
|
||||
* app/tools/move.c
|
||||
* app/tools/paint_core.c
|
||||
* app/tools/rect_select.c
|
||||
* app/tools/text_tool.c
|
||||
* app/tools/transform_core.c
|
||||
* tools/pdbgen/pdb/drawable.pdb
|
||||
* tools/pdbgen/pdb/floating_sel.pdb
|
||||
* tools/pdbgen/pdb/image.pdb
|
||||
* tools/pdbgen/pdb/layer.pdb: changed accordingly, cleanup.
|
||||
|
||||
2001-01-28 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/Makefile.am
|
||||
|
|
|
@ -917,9 +917,9 @@ void
|
|||
layers_previous_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -940,9 +940,9 @@ void
|
|||
layers_next_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -1053,7 +1053,7 @@ layers_add_alpha_channel_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gimp_layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1075,7 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gimp_layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
|
|
@ -49,8 +49,6 @@ typedef GimpChannel Channel; /* convenience */
|
|||
typedef struct _GimpLayer GimpLayer;
|
||||
typedef struct _GimpLayerMask GimpLayerMask;
|
||||
|
||||
typedef GimpLayer Layer; /* convenience */
|
||||
|
||||
typedef struct _GimpImage GimpImage;
|
||||
typedef GimpImage GImage;
|
||||
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* OPERATIONS */
|
||||
|
||||
/* Half way point where a region is no longer visible in a selection */
|
||||
#define HALF_WAY 127
|
||||
|
||||
|
@ -71,18 +69,19 @@ typedef struct _ChannelUndo ChannelUndo;
|
|||
|
||||
struct _ChannelUndo
|
||||
{
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
};
|
||||
|
||||
|
||||
/* Special undo type */
|
||||
typedef struct _MaskUndo MaskUndo;
|
||||
|
||||
struct _MaskUndo
|
||||
{
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
};
|
||||
|
||||
|
||||
|
@ -221,7 +220,4 @@ void channel_layer_mask (Channel *mask,
|
|||
void channel_invalidate_bounds (Channel *channel);
|
||||
|
||||
|
||||
#define gimp_drawable_channel GIMP_IS_CHANNEL
|
||||
|
||||
|
||||
#endif /* __CHANNEL_H__ */
|
||||
|
|
|
@ -567,13 +567,13 @@ duplicate (GimpImage *gimage)
|
|||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
GimpImage *new_gimage;
|
||||
Layer *layer, *new_layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer, *new_layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel, *new_channel;
|
||||
GSList *list;
|
||||
GList *glist;
|
||||
Guide *guide = NULL;
|
||||
Layer *active_layer = NULL;
|
||||
GimpLayer *active_layer = NULL;
|
||||
Channel *active_channel = NULL;
|
||||
GimpDrawable *new_floating_sel_drawable = NULL;
|
||||
GimpDrawable *floating_sel_drawable = NULL;
|
||||
|
@ -608,16 +608,16 @@ duplicate (GimpImage *gimage)
|
|||
layer = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
new_layer = layer_copy (layer, FALSE);
|
||||
new_layer = gimp_layer_copy (layer, FALSE);
|
||||
|
||||
gimp_drawable_set_gimage(GIMP_DRAWABLE(new_layer), new_gimage);
|
||||
gimp_drawable_set_gimage (GIMP_DRAWABLE (new_layer), new_gimage);
|
||||
|
||||
/* Make sure the copied layer doesn't say: "<old layer> copy" */
|
||||
layer_set_name(GIMP_LAYER(new_layer),
|
||||
layer_get_name(GIMP_LAYER(layer)));
|
||||
gimp_object_set_name (GIMP_OBJECT (new_layer),
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
/* Make sure if the layer has a layer mask, it's name isn't screwed up */
|
||||
if (new_layer->mask)
|
||||
|
|
|
@ -82,7 +82,7 @@ struct _ChannelsDialog
|
|||
ChannelType components[3];
|
||||
|
||||
Channel *active_channel;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *floating_sel;
|
||||
GSList *channel_widgets;
|
||||
};
|
||||
|
||||
|
|
|
@ -917,9 +917,9 @@ void
|
|||
layers_previous_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -940,9 +940,9 @@ void
|
|||
layers_next_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -1053,7 +1053,7 @@ layers_add_alpha_channel_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gimp_layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1075,7 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gimp_layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
|
|
@ -329,7 +329,7 @@ typedef struct _Color Color;
|
|||
typedef struct _QuantizeObj QuantizeObj;
|
||||
typedef void (* Pass1_Func) (QuantizeObj *);
|
||||
typedef void (* Pass2i_Func) (QuantizeObj *);
|
||||
typedef void (* Pass2_Func) (QuantizeObj *, Layer *, TileManager *);
|
||||
typedef void (* Pass2_Func) (QuantizeObj *, GimpLayer *, TileManager *);
|
||||
typedef void (* Cleanup_Func) (QuantizeObj *);
|
||||
typedef unsigned long ColorFreq;
|
||||
typedef ColorFreq *CFHistogram;
|
||||
|
@ -416,13 +416,13 @@ static void indexed_cancel_callback (GtkWidget *, gpointer);
|
|||
static void indexed_custom_palette_button_callback (GtkWidget *widget, gpointer data);
|
||||
static void indexed_palette_select_destroy_callback (GtkWidget *widget, gpointer data);
|
||||
|
||||
static void rgb_converter (Layer *, TileManager *, int);
|
||||
static void grayscale_converter (Layer *, TileManager *, int);
|
||||
static void rgb_converter (GimpLayer *, TileManager *, int);
|
||||
static void grayscale_converter (GimpLayer *, TileManager *, int);
|
||||
|
||||
static void zero_histogram_gray (CFHistogram);
|
||||
static void zero_histogram_rgb (CFHistogram);
|
||||
static void generate_histogram_gray (CFHistogram, Layer *, int alpha_dither);
|
||||
static void generate_histogram_rgb (CFHistogram, Layer *, int col_limit, int alpha_dither);
|
||||
static void generate_histogram_gray (CFHistogram, GimpLayer *, int alpha_dither);
|
||||
static void generate_histogram_rgb (CFHistogram, GimpLayer *, int col_limit, int alpha_dither);
|
||||
|
||||
static QuantizeObj* initialize_median_cut (int, int, ConvertDitherType,
|
||||
ConvertPaletteType, int);
|
||||
|
@ -552,14 +552,9 @@ convert_to_indexed (GimpImage *gimage)
|
|||
|
||||
if (dialog->num_cols == 256)
|
||||
{
|
||||
if ((!gimp_image_is_empty (gimage))
|
||||
&&
|
||||
(
|
||||
gimage->layers->next
|
||||
||
|
||||
layer_has_alpha ((Layer *) gimage->layers->data)
|
||||
)
|
||||
)
|
||||
if ((! gimp_image_is_empty (gimage)) &&
|
||||
(gimage->layers->next ||
|
||||
gimp_layer_has_alpha ((GimpLayer *) gimage->layers->data)))
|
||||
{
|
||||
dialog->num_cols = 255;
|
||||
}
|
||||
|
@ -756,14 +751,9 @@ convert_to_indexed (GimpImage *gimage)
|
|||
/* if the image isn't non-alpha/layered, set the default number of
|
||||
colours to one less than max, to leave room for a transparent index
|
||||
for transparent/animated GIFs */
|
||||
if ((!gimp_image_is_empty (gimage))
|
||||
&&
|
||||
(
|
||||
gimage->layers->next
|
||||
||
|
||||
layer_has_alpha ((Layer *) gimage->layers->data)
|
||||
)
|
||||
)
|
||||
if ((! gimp_image_is_empty (gimage)) &&
|
||||
(gimage->layers->next ||
|
||||
gimp_layer_has_alpha ((GimpLayer *) gimage->layers->data)))
|
||||
{
|
||||
frame = gtk_frame_new (_("[ Warning ]"));
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
|
||||
|
@ -1146,7 +1136,7 @@ make_remap_table (const unsigned char old_palette[],
|
|||
}
|
||||
|
||||
static void
|
||||
remap_indexed_layer (Layer *layer,
|
||||
remap_indexed_layer (GimpLayer *layer,
|
||||
unsigned char *remap_table,
|
||||
int num_entries)
|
||||
{
|
||||
|
@ -1157,7 +1147,7 @@ remap_indexed_layer (Layer *layer,
|
|||
unsigned char* src;
|
||||
unsigned char* dest;
|
||||
|
||||
has_alpha = layer_has_alpha (layer) ? 1 : 0;
|
||||
has_alpha = gimp_layer_has_alpha (layer) ? 1 : 0;
|
||||
pixel_region_init (&srcPR,
|
||||
GIMP_DRAWABLE(layer)->tiles, 0, 0,
|
||||
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height,
|
||||
|
@ -1201,8 +1191,8 @@ convert_image (GImage *gimage,
|
|||
ConvertPaletteType palette_type)
|
||||
{
|
||||
QuantizeObj *quantobj;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GimpImageBaseType old_type;
|
||||
GSList *list;
|
||||
GimpImageType new_layer_type;
|
||||
|
@ -1262,7 +1252,7 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
if (old_type == GRAY)
|
||||
generate_histogram_gray (quantobj->histogram, layer, alpha_dither);
|
||||
|
@ -1328,10 +1318,10 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
switch (new_type)
|
||||
{
|
||||
case RGB:
|
||||
|
@ -1412,7 +1402,7 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
remap_indexed_layer (layer, remap_table, num_entries);
|
||||
|
@ -1468,7 +1458,7 @@ convert_image (GImage *gimage,
|
|||
}
|
||||
|
||||
static void
|
||||
rgb_converter (Layer *layer,
|
||||
rgb_converter (GimpLayer *layer,
|
||||
TileManager *new_tiles,
|
||||
int old_type)
|
||||
{
|
||||
|
@ -1481,7 +1471,7 @@ rgb_converter (Layer *layer,
|
|||
unsigned char *cmap;
|
||||
void *pr;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
|
||||
|
@ -1542,7 +1532,7 @@ rgb_converter (Layer *layer,
|
|||
}
|
||||
|
||||
static void
|
||||
grayscale_converter (Layer *layer,
|
||||
grayscale_converter (GimpLayer *layer,
|
||||
TileManager *new_tiles,
|
||||
int old_type)
|
||||
{
|
||||
|
@ -1555,7 +1545,7 @@ grayscale_converter (Layer *layer,
|
|||
unsigned char *cmap;
|
||||
void *pr;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
|
||||
|
@ -1638,7 +1628,7 @@ zero_histogram_rgb (CFHistogram histogram)
|
|||
|
||||
static void
|
||||
generate_histogram_gray (CFHistogram histogram,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
int alpha_dither)
|
||||
{
|
||||
PixelRegion srcPR;
|
||||
|
@ -1647,7 +1637,7 @@ generate_histogram_gray (CFHistogram histogram,
|
|||
void *pr;
|
||||
gboolean has_alpha;
|
||||
|
||||
has_alpha = (gboolean) layer_has_alpha(layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
for (pr = pixel_regions_register (1, &srcPR);
|
||||
|
@ -1667,7 +1657,7 @@ generate_histogram_gray (CFHistogram histogram,
|
|||
|
||||
static void
|
||||
generate_histogram_rgb (CFHistogram histogram,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
int col_limit,
|
||||
int alpha_dither)
|
||||
{
|
||||
|
@ -1681,7 +1671,7 @@ generate_histogram_rgb (CFHistogram histogram,
|
|||
int row, col, coledge;
|
||||
int offsetx, offsety;
|
||||
|
||||
has_alpha = (gboolean) layer_has_alpha(layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
|
@ -2991,7 +2981,7 @@ custompal_pass1 (QuantizeObj *quantobj)
|
|||
|
||||
static void
|
||||
median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3008,7 +2998,7 @@ median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3052,7 +3042,7 @@ median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3071,7 +3061,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3129,7 +3119,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3156,7 +3146,7 @@ median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE(layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3204,7 +3194,7 @@ median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3233,7 +3223,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE (layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3310,7 +3300,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_nodestruct_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3332,7 +3322,7 @@ median_cut_pass2_nodestruct_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3485,7 +3475,7 @@ init_error_limit (const int error_freedom)
|
|||
|
||||
static void
|
||||
median_cut_pass2_fs_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3516,7 +3506,7 @@ median_cut_pass2_fs_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
src_bytes = GIMP_DRAWABLE(layer)->bytes;
|
||||
|
@ -3681,7 +3671,7 @@ median_cut_pass2_gray_init (QuantizeObj *quantobj)
|
|||
|
||||
static void
|
||||
median_cut_pass2_fs_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3726,7 +3716,7 @@ median_cut_pass2_fs_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE(layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
src_bytes = GIMP_DRAWABLE(layer)->bytes;
|
||||
|
|
|
@ -196,7 +196,7 @@ crop_buffer (TileManager *tiles,
|
|||
}
|
||||
|
||||
TileManager *
|
||||
edit_cut (GImage *gimage,
|
||||
edit_cut (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *cut;
|
||||
|
@ -250,7 +250,7 @@ edit_cut (GImage *gimage,
|
|||
}
|
||||
|
||||
TileManager *
|
||||
edit_copy (GImage *gimage,
|
||||
edit_copy (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *copy;
|
||||
|
@ -298,31 +298,31 @@ edit_copy (GImage *gimage,
|
|||
}
|
||||
|
||||
GimpLayer *
|
||||
edit_paste (GImage *gimage,
|
||||
edit_paste (GimpImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
TileManager *paste,
|
||||
gboolean paste_into)
|
||||
{
|
||||
Layer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint cx, cy;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint cx, cy;
|
||||
|
||||
/* Make a new layer: iff drawable == NULL,
|
||||
* user is pasting into an empty display.
|
||||
*/
|
||||
|
||||
if (drawable != NULL)
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
else
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
@ -374,12 +374,12 @@ edit_paste (GImage *gimage,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_paste_as_new (GImage *invoke,
|
||||
edit_paste_as_new (GimpImage *invoke,
|
||||
TileManager *paste)
|
||||
{
|
||||
GImage *gimage;
|
||||
Layer *layer;
|
||||
GDisplay *gdisp;
|
||||
GimpImage *gimage;
|
||||
GimpLayer *layer;
|
||||
GDisplay *gdisp;
|
||||
|
||||
if (!global_buf)
|
||||
return FALSE;
|
||||
|
@ -392,11 +392,11 @@ edit_paste_as_new (GImage *invoke,
|
|||
gimp_image_set_resolution (gimage, invoke->xresolution, invoke->yresolution);
|
||||
gimp_image_set_unit (gimage, invoke->unit);
|
||||
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
@ -416,7 +416,7 @@ edit_paste_as_new (GImage *invoke,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_clear (GImage *gimage,
|
||||
edit_clear (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *buf_tiles;
|
||||
|
@ -455,7 +455,7 @@ edit_clear (GImage *gimage,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_fill (GImage *gimage,
|
||||
edit_fill (GimpImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
GimpFillType fill_type)
|
||||
{
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* OPERATIONS */
|
||||
|
||||
/* Half way point where a region is no longer visible in a selection */
|
||||
#define HALF_WAY 127
|
||||
|
||||
|
@ -71,18 +69,19 @@ typedef struct _ChannelUndo ChannelUndo;
|
|||
|
||||
struct _ChannelUndo
|
||||
{
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
};
|
||||
|
||||
|
||||
/* Special undo type */
|
||||
typedef struct _MaskUndo MaskUndo;
|
||||
|
||||
struct _MaskUndo
|
||||
{
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
};
|
||||
|
||||
|
||||
|
@ -221,7 +220,4 @@ void channel_layer_mask (Channel *mask,
|
|||
void channel_invalidate_bounds (Channel *channel);
|
||||
|
||||
|
||||
#define gimp_drawable_channel GIMP_IS_CHANNEL
|
||||
|
||||
|
||||
#endif /* __CHANNEL_H__ */
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* OPERATIONS */
|
||||
|
||||
/* Half way point where a region is no longer visible in a selection */
|
||||
#define HALF_WAY 127
|
||||
|
||||
|
@ -71,18 +69,19 @@ typedef struct _ChannelUndo ChannelUndo;
|
|||
|
||||
struct _ChannelUndo
|
||||
{
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
};
|
||||
|
||||
|
||||
/* Special undo type */
|
||||
typedef struct _MaskUndo MaskUndo;
|
||||
|
||||
struct _MaskUndo
|
||||
{
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
};
|
||||
|
||||
|
||||
|
@ -221,7 +220,4 @@ void channel_layer_mask (Channel *mask,
|
|||
void channel_invalidate_bounds (Channel *channel);
|
||||
|
||||
|
||||
#define gimp_drawable_channel GIMP_IS_CHANNEL
|
||||
|
||||
|
||||
#endif /* __CHANNEL_H__ */
|
||||
|
|
|
@ -567,13 +567,13 @@ duplicate (GimpImage *gimage)
|
|||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
GimpImage *new_gimage;
|
||||
Layer *layer, *new_layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer, *new_layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel, *new_channel;
|
||||
GSList *list;
|
||||
GList *glist;
|
||||
Guide *guide = NULL;
|
||||
Layer *active_layer = NULL;
|
||||
GimpLayer *active_layer = NULL;
|
||||
Channel *active_channel = NULL;
|
||||
GimpDrawable *new_floating_sel_drawable = NULL;
|
||||
GimpDrawable *floating_sel_drawable = NULL;
|
||||
|
@ -608,16 +608,16 @@ duplicate (GimpImage *gimage)
|
|||
layer = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
new_layer = layer_copy (layer, FALSE);
|
||||
new_layer = gimp_layer_copy (layer, FALSE);
|
||||
|
||||
gimp_drawable_set_gimage(GIMP_DRAWABLE(new_layer), new_gimage);
|
||||
gimp_drawable_set_gimage (GIMP_DRAWABLE (new_layer), new_gimage);
|
||||
|
||||
/* Make sure the copied layer doesn't say: "<old layer> copy" */
|
||||
layer_set_name(GIMP_LAYER(new_layer),
|
||||
layer_get_name(GIMP_LAYER(layer)));
|
||||
gimp_object_set_name (GIMP_OBJECT (new_layer),
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
/* Make sure if the layer has a layer mask, it's name isn't screwed up */
|
||||
if (new_layer->mask)
|
||||
|
|
|
@ -23,6 +23,12 @@
|
|||
#include "gimpobject.h"
|
||||
|
||||
|
||||
/* PDB stuff */
|
||||
#define gimp_drawable_layer GIMP_IS_LAYER
|
||||
#define gimp_drawable_layer_mask GIMP_IS_LAYER_MASK
|
||||
#define gimp_drawable_channel GIMP_IS_CHANNEL
|
||||
|
||||
|
||||
#define GIMP_TYPE_DRAWABLE (gimp_drawable_get_type ())
|
||||
#define GIMP_DRAWABLE(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_DRAWABLE, GimpDrawable))
|
||||
#define GIMP_IS_DRAWABLE(obj) (GTK_CHECK_TYPE ((obj), GIMP_TYPE_DRAWABLE))
|
||||
|
|
|
@ -196,7 +196,7 @@ crop_buffer (TileManager *tiles,
|
|||
}
|
||||
|
||||
TileManager *
|
||||
edit_cut (GImage *gimage,
|
||||
edit_cut (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *cut;
|
||||
|
@ -250,7 +250,7 @@ edit_cut (GImage *gimage,
|
|||
}
|
||||
|
||||
TileManager *
|
||||
edit_copy (GImage *gimage,
|
||||
edit_copy (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *copy;
|
||||
|
@ -298,31 +298,31 @@ edit_copy (GImage *gimage,
|
|||
}
|
||||
|
||||
GimpLayer *
|
||||
edit_paste (GImage *gimage,
|
||||
edit_paste (GimpImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
TileManager *paste,
|
||||
gboolean paste_into)
|
||||
{
|
||||
Layer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint cx, cy;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint cx, cy;
|
||||
|
||||
/* Make a new layer: iff drawable == NULL,
|
||||
* user is pasting into an empty display.
|
||||
*/
|
||||
|
||||
if (drawable != NULL)
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
else
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
@ -374,12 +374,12 @@ edit_paste (GImage *gimage,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_paste_as_new (GImage *invoke,
|
||||
edit_paste_as_new (GimpImage *invoke,
|
||||
TileManager *paste)
|
||||
{
|
||||
GImage *gimage;
|
||||
Layer *layer;
|
||||
GDisplay *gdisp;
|
||||
GimpImage *gimage;
|
||||
GimpLayer *layer;
|
||||
GDisplay *gdisp;
|
||||
|
||||
if (!global_buf)
|
||||
return FALSE;
|
||||
|
@ -392,11 +392,11 @@ edit_paste_as_new (GImage *invoke,
|
|||
gimp_image_set_resolution (gimage, invoke->xresolution, invoke->yresolution);
|
||||
gimp_image_set_unit (gimage, invoke->unit);
|
||||
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
@ -416,7 +416,7 @@ edit_paste_as_new (GImage *invoke,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_clear (GImage *gimage,
|
||||
edit_clear (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *buf_tiles;
|
||||
|
@ -455,7 +455,7 @@ edit_clear (GImage *gimage,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_fill (GImage *gimage,
|
||||
edit_fill (GimpImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
GimpFillType fill_type)
|
||||
{
|
||||
|
|
|
@ -329,7 +329,7 @@ typedef struct _Color Color;
|
|||
typedef struct _QuantizeObj QuantizeObj;
|
||||
typedef void (* Pass1_Func) (QuantizeObj *);
|
||||
typedef void (* Pass2i_Func) (QuantizeObj *);
|
||||
typedef void (* Pass2_Func) (QuantizeObj *, Layer *, TileManager *);
|
||||
typedef void (* Pass2_Func) (QuantizeObj *, GimpLayer *, TileManager *);
|
||||
typedef void (* Cleanup_Func) (QuantizeObj *);
|
||||
typedef unsigned long ColorFreq;
|
||||
typedef ColorFreq *CFHistogram;
|
||||
|
@ -416,13 +416,13 @@ static void indexed_cancel_callback (GtkWidget *, gpointer);
|
|||
static void indexed_custom_palette_button_callback (GtkWidget *widget, gpointer data);
|
||||
static void indexed_palette_select_destroy_callback (GtkWidget *widget, gpointer data);
|
||||
|
||||
static void rgb_converter (Layer *, TileManager *, int);
|
||||
static void grayscale_converter (Layer *, TileManager *, int);
|
||||
static void rgb_converter (GimpLayer *, TileManager *, int);
|
||||
static void grayscale_converter (GimpLayer *, TileManager *, int);
|
||||
|
||||
static void zero_histogram_gray (CFHistogram);
|
||||
static void zero_histogram_rgb (CFHistogram);
|
||||
static void generate_histogram_gray (CFHistogram, Layer *, int alpha_dither);
|
||||
static void generate_histogram_rgb (CFHistogram, Layer *, int col_limit, int alpha_dither);
|
||||
static void generate_histogram_gray (CFHistogram, GimpLayer *, int alpha_dither);
|
||||
static void generate_histogram_rgb (CFHistogram, GimpLayer *, int col_limit, int alpha_dither);
|
||||
|
||||
static QuantizeObj* initialize_median_cut (int, int, ConvertDitherType,
|
||||
ConvertPaletteType, int);
|
||||
|
@ -552,14 +552,9 @@ convert_to_indexed (GimpImage *gimage)
|
|||
|
||||
if (dialog->num_cols == 256)
|
||||
{
|
||||
if ((!gimp_image_is_empty (gimage))
|
||||
&&
|
||||
(
|
||||
gimage->layers->next
|
||||
||
|
||||
layer_has_alpha ((Layer *) gimage->layers->data)
|
||||
)
|
||||
)
|
||||
if ((! gimp_image_is_empty (gimage)) &&
|
||||
(gimage->layers->next ||
|
||||
gimp_layer_has_alpha ((GimpLayer *) gimage->layers->data)))
|
||||
{
|
||||
dialog->num_cols = 255;
|
||||
}
|
||||
|
@ -756,14 +751,9 @@ convert_to_indexed (GimpImage *gimage)
|
|||
/* if the image isn't non-alpha/layered, set the default number of
|
||||
colours to one less than max, to leave room for a transparent index
|
||||
for transparent/animated GIFs */
|
||||
if ((!gimp_image_is_empty (gimage))
|
||||
&&
|
||||
(
|
||||
gimage->layers->next
|
||||
||
|
||||
layer_has_alpha ((Layer *) gimage->layers->data)
|
||||
)
|
||||
)
|
||||
if ((! gimp_image_is_empty (gimage)) &&
|
||||
(gimage->layers->next ||
|
||||
gimp_layer_has_alpha ((GimpLayer *) gimage->layers->data)))
|
||||
{
|
||||
frame = gtk_frame_new (_("[ Warning ]"));
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
|
||||
|
@ -1146,7 +1136,7 @@ make_remap_table (const unsigned char old_palette[],
|
|||
}
|
||||
|
||||
static void
|
||||
remap_indexed_layer (Layer *layer,
|
||||
remap_indexed_layer (GimpLayer *layer,
|
||||
unsigned char *remap_table,
|
||||
int num_entries)
|
||||
{
|
||||
|
@ -1157,7 +1147,7 @@ remap_indexed_layer (Layer *layer,
|
|||
unsigned char* src;
|
||||
unsigned char* dest;
|
||||
|
||||
has_alpha = layer_has_alpha (layer) ? 1 : 0;
|
||||
has_alpha = gimp_layer_has_alpha (layer) ? 1 : 0;
|
||||
pixel_region_init (&srcPR,
|
||||
GIMP_DRAWABLE(layer)->tiles, 0, 0,
|
||||
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height,
|
||||
|
@ -1201,8 +1191,8 @@ convert_image (GImage *gimage,
|
|||
ConvertPaletteType palette_type)
|
||||
{
|
||||
QuantizeObj *quantobj;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GimpImageBaseType old_type;
|
||||
GSList *list;
|
||||
GimpImageType new_layer_type;
|
||||
|
@ -1262,7 +1252,7 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
if (old_type == GRAY)
|
||||
generate_histogram_gray (quantobj->histogram, layer, alpha_dither);
|
||||
|
@ -1328,10 +1318,10 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
switch (new_type)
|
||||
{
|
||||
case RGB:
|
||||
|
@ -1412,7 +1402,7 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
remap_indexed_layer (layer, remap_table, num_entries);
|
||||
|
@ -1468,7 +1458,7 @@ convert_image (GImage *gimage,
|
|||
}
|
||||
|
||||
static void
|
||||
rgb_converter (Layer *layer,
|
||||
rgb_converter (GimpLayer *layer,
|
||||
TileManager *new_tiles,
|
||||
int old_type)
|
||||
{
|
||||
|
@ -1481,7 +1471,7 @@ rgb_converter (Layer *layer,
|
|||
unsigned char *cmap;
|
||||
void *pr;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
|
||||
|
@ -1542,7 +1532,7 @@ rgb_converter (Layer *layer,
|
|||
}
|
||||
|
||||
static void
|
||||
grayscale_converter (Layer *layer,
|
||||
grayscale_converter (GimpLayer *layer,
|
||||
TileManager *new_tiles,
|
||||
int old_type)
|
||||
{
|
||||
|
@ -1555,7 +1545,7 @@ grayscale_converter (Layer *layer,
|
|||
unsigned char *cmap;
|
||||
void *pr;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
|
||||
|
@ -1638,7 +1628,7 @@ zero_histogram_rgb (CFHistogram histogram)
|
|||
|
||||
static void
|
||||
generate_histogram_gray (CFHistogram histogram,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
int alpha_dither)
|
||||
{
|
||||
PixelRegion srcPR;
|
||||
|
@ -1647,7 +1637,7 @@ generate_histogram_gray (CFHistogram histogram,
|
|||
void *pr;
|
||||
gboolean has_alpha;
|
||||
|
||||
has_alpha = (gboolean) layer_has_alpha(layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
for (pr = pixel_regions_register (1, &srcPR);
|
||||
|
@ -1667,7 +1657,7 @@ generate_histogram_gray (CFHistogram histogram,
|
|||
|
||||
static void
|
||||
generate_histogram_rgb (CFHistogram histogram,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
int col_limit,
|
||||
int alpha_dither)
|
||||
{
|
||||
|
@ -1681,7 +1671,7 @@ generate_histogram_rgb (CFHistogram histogram,
|
|||
int row, col, coledge;
|
||||
int offsetx, offsety;
|
||||
|
||||
has_alpha = (gboolean) layer_has_alpha(layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
|
@ -2991,7 +2981,7 @@ custompal_pass1 (QuantizeObj *quantobj)
|
|||
|
||||
static void
|
||||
median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3008,7 +2998,7 @@ median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3052,7 +3042,7 @@ median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3071,7 +3061,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3129,7 +3119,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3156,7 +3146,7 @@ median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE(layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3204,7 +3194,7 @@ median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3233,7 +3223,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE (layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3310,7 +3300,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_nodestruct_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3332,7 +3322,7 @@ median_cut_pass2_nodestruct_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3485,7 +3475,7 @@ init_error_limit (const int error_freedom)
|
|||
|
||||
static void
|
||||
median_cut_pass2_fs_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3516,7 +3506,7 @@ median_cut_pass2_fs_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
src_bytes = GIMP_DRAWABLE(layer)->bytes;
|
||||
|
@ -3681,7 +3671,7 @@ median_cut_pass2_gray_init (QuantizeObj *quantobj)
|
|||
|
||||
static void
|
||||
median_cut_pass2_fs_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3726,7 +3716,7 @@ median_cut_pass2_fs_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE(layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
src_bytes = GIMP_DRAWABLE(layer)->bytes;
|
||||
|
|
|
@ -567,13 +567,13 @@ duplicate (GimpImage *gimage)
|
|||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
GimpImage *new_gimage;
|
||||
Layer *layer, *new_layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer, *new_layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel, *new_channel;
|
||||
GSList *list;
|
||||
GList *glist;
|
||||
Guide *guide = NULL;
|
||||
Layer *active_layer = NULL;
|
||||
GimpLayer *active_layer = NULL;
|
||||
Channel *active_channel = NULL;
|
||||
GimpDrawable *new_floating_sel_drawable = NULL;
|
||||
GimpDrawable *floating_sel_drawable = NULL;
|
||||
|
@ -608,16 +608,16 @@ duplicate (GimpImage *gimage)
|
|||
layer = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
new_layer = layer_copy (layer, FALSE);
|
||||
new_layer = gimp_layer_copy (layer, FALSE);
|
||||
|
||||
gimp_drawable_set_gimage(GIMP_DRAWABLE(new_layer), new_gimage);
|
||||
gimp_drawable_set_gimage (GIMP_DRAWABLE (new_layer), new_gimage);
|
||||
|
||||
/* Make sure the copied layer doesn't say: "<old layer> copy" */
|
||||
layer_set_name(GIMP_LAYER(new_layer),
|
||||
layer_get_name(GIMP_LAYER(layer)));
|
||||
gimp_object_set_name (GIMP_OBJECT (new_layer),
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
/* Make sure if the layer has a layer mask, it's name isn't screwed up */
|
||||
if (new_layer->mask)
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -59,7 +59,7 @@ gimage_mask_boundary (GImage *gimage,
|
|||
gint *num_segs_out)
|
||||
{
|
||||
GimpDrawable *d;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1;
|
||||
gint x2, y2;
|
||||
|
||||
|
@ -137,8 +137,8 @@ gimage_mask_bounds (GImage *gimage,
|
|||
void
|
||||
gimage_mask_invalidate (GImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
Channel *mask;
|
||||
GimpLayer *layer;
|
||||
Channel *mask;
|
||||
|
||||
/* Turn the current selection off */
|
||||
gdisplays_selection_visibility (gimage, SelectionOff);
|
||||
|
@ -151,7 +151,7 @@ gimage_mask_invalidate (GImage *gimage)
|
|||
* mask in the composition of the floating selection
|
||||
*/
|
||||
layer = gimp_image_get_active_layer (gimage);
|
||||
if (layer && layer_is_floating_sel (layer))
|
||||
if (layer && gimp_layer_is_floating_sel (layer))
|
||||
drawable_update (GIMP_DRAWABLE(layer), 0, 0,
|
||||
GIMP_DRAWABLE(layer)->width,
|
||||
GIMP_DRAWABLE(layer)->height);
|
||||
|
@ -325,7 +325,7 @@ gimage_mask_extract (GImage *gimage,
|
|||
*/
|
||||
if (cut_gimage && GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
if (layer_is_floating_sel (GIMP_LAYER (drawable)))
|
||||
if (gimp_layer_is_floating_sel (GIMP_LAYER (drawable)))
|
||||
floating_sel_remove (GIMP_LAYER (drawable));
|
||||
else
|
||||
gimp_image_remove_layer (gimage, GIMP_LAYER (drawable));
|
||||
|
@ -343,14 +343,13 @@ gimage_mask_extract (GImage *gimage,
|
|||
return tiles;
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimage_mask_float (GImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
gint off_x, /* optional offset */
|
||||
gint off_y)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
Channel *mask = gimp_image_get_mask (gimage);
|
||||
TileManager *tiles;
|
||||
gboolean non_empty;
|
||||
|
@ -372,11 +371,11 @@ gimage_mask_float (GImage *gimage,
|
|||
tiles = gimage_mask_extract (gimage, drawable, TRUE, FALSE, TRUE);
|
||||
|
||||
/* Create a new layer from the buffer */
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
tiles,
|
||||
_("Floated Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
tiles,
|
||||
_("Floated Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
/* Set the offsets */
|
||||
tile_manager_get_offsets (tiles, &x1, &y1);
|
||||
|
@ -502,8 +501,8 @@ gimage_mask_shrink (GImage *gimage,
|
|||
|
||||
|
||||
void
|
||||
gimage_mask_layer_alpha (GImage *gimage,
|
||||
Layer *layer)
|
||||
gimage_mask_layer_alpha (GimpImage *gimage,
|
||||
GimpLayer *layer)
|
||||
{
|
||||
/* extract the layer's alpha channel */
|
||||
if (gimp_drawable_has_alpha (GIMP_DRAWABLE (layer)))
|
||||
|
@ -521,11 +520,11 @@ gimage_mask_layer_alpha (GImage *gimage,
|
|||
|
||||
|
||||
void
|
||||
gimage_mask_layer_mask (GImage *gimage,
|
||||
Layer *layer)
|
||||
gimage_mask_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer)
|
||||
{
|
||||
/* extract the layer's alpha channel */
|
||||
if (layer_get_mask (layer))
|
||||
if (gimp_layer_get_mask (layer))
|
||||
{
|
||||
/* load the mask with the given layer's alpha channel */
|
||||
channel_layer_mask (gimp_image_get_mask (gimage), layer);
|
||||
|
|
|
@ -44,13 +44,13 @@ void gimage_mask_translate (GImage *gimage,
|
|||
gint off_x,
|
||||
gint off_y);
|
||||
|
||||
TileManager * gimage_mask_extract (GImage *gimage,
|
||||
TileManager * gimage_mask_extract (GImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
gboolean cut_gimage,
|
||||
gboolean keep_indexed,
|
||||
gboolean add_alpha);
|
||||
|
||||
Layer * gimage_mask_float (GImage *gimage,
|
||||
GimpLayer * gimage_mask_float (GImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
gint off_x,
|
||||
gint off_y);
|
||||
|
@ -80,15 +80,15 @@ void gimage_mask_shrink (GImage *gimage,
|
|||
gboolean edge_lock);
|
||||
|
||||
void gimage_mask_layer_alpha (GImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
|
||||
void gimage_mask_layer_mask (GImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
|
||||
void gimage_mask_load (GImage *gimage,
|
||||
Channel *channel);
|
||||
|
||||
Channel * gimage_mask_save (GImage *gimage);
|
||||
Channel * gimage_mask_save (GImage *gimage);
|
||||
|
||||
gboolean gimage_mask_stroke (GImage *gimage,
|
||||
GimpDrawable *drawable);
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -162,32 +162,32 @@ static void undo_free_cantundo (UndoState, UndoType, gpointer);
|
|||
|
||||
|
||||
/* Sizing functions */
|
||||
static gint layer_size (Layer *layer);
|
||||
static gint channel_size (Channel *channel);
|
||||
static gint layer_size (GimpLayer *layer);
|
||||
static gint channel_size (Channel *channel);
|
||||
|
||||
static const gchar * undo_type_to_name (UndoType undo_type);
|
||||
static const gchar * undo_type_to_name (UndoType undo_type);
|
||||
|
||||
static Undo * undo_new (UndoType undo_type,
|
||||
glong size,
|
||||
gboolean dirties_image);
|
||||
static Undo * undo_new (UndoType undo_type,
|
||||
glong size,
|
||||
gboolean dirties_image);
|
||||
|
||||
|
||||
static gboolean shrink_wrap = FALSE;
|
||||
|
||||
|
||||
static gint
|
||||
layer_size (Layer *layer)
|
||||
layer_size (GimpLayer *layer)
|
||||
{
|
||||
gint size;
|
||||
|
||||
size =
|
||||
sizeof (Layer) +
|
||||
sizeof (GimpLayer) +
|
||||
GIMP_DRAWABLE (layer)->width * GIMP_DRAWABLE (layer)->height *
|
||||
GIMP_DRAWABLE (layer)->bytes +
|
||||
strlen (GIMP_OBJECT (layer)->name);
|
||||
|
||||
if (layer_get_mask (layer))
|
||||
size += channel_size (GIMP_CHANNEL (layer_get_mask (layer)));
|
||||
if (gimp_layer_get_mask (layer))
|
||||
size += channel_size (GIMP_CHANNEL (gimp_layer_get_mask (layer)));
|
||||
|
||||
return size;
|
||||
}
|
||||
|
@ -1198,7 +1198,7 @@ undo_pop_layer_displace (GimpImage *gimage,
|
|||
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
ldu->info[1] = old_offsets[0];
|
||||
ldu->info[2] = old_offsets[1];
|
||||
|
@ -1469,7 +1469,7 @@ undo_pop_layer (GimpImage *gimage,
|
|||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, lu->layer);
|
||||
|
||||
/* reset the gimage values */
|
||||
if (layer_is_floating_sel (lu->layer))
|
||||
if (gimp_layer_is_floating_sel (lu->layer))
|
||||
{
|
||||
gimage->floating_sel = NULL;
|
||||
/* reset the old drawable */
|
||||
|
@ -1488,10 +1488,10 @@ undo_pop_layer (GimpImage *gimage,
|
|||
|
||||
/* hide the current selection--for all views */
|
||||
if (gimage->active_layer != NULL)
|
||||
layer_invalidate_boundary ((gimage->active_layer));
|
||||
gimp_layer_invalidate_boundary ((gimage->active_layer));
|
||||
|
||||
/* if this is a floating selection, set the fs pointer */
|
||||
if (layer_is_floating_sel (lu->layer))
|
||||
if (gimp_layer_is_floating_sel (lu->layer))
|
||||
gimage->floating_sel = lu->layer;
|
||||
|
||||
/* add the new layer */
|
||||
|
@ -1543,7 +1543,7 @@ undo_push_layer_mod (GimpImage *gimage,
|
|||
gpointer *data;
|
||||
gint size;
|
||||
|
||||
layer = (Layer *) layer_ptr;
|
||||
layer = (GimpLayer *) layer_ptr;
|
||||
|
||||
tiles = GIMP_DRAWABLE (layer)->tiles;
|
||||
tile_manager_set_offsets (tiles,
|
||||
|
@ -2029,7 +2029,7 @@ undo_pop_fs_to_layer (GimpImage *gimage,
|
|||
fsu->layer->fs.initial = TRUE;
|
||||
|
||||
/* clear the selection */
|
||||
layer_invalidate_boundary (fsu->layer);
|
||||
gimp_layer_invalidate_boundary (fsu->layer);
|
||||
|
||||
/* Update the preview for the gimage and underlying drawable */
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (fsu->layer), TRUE);
|
||||
|
@ -2047,7 +2047,7 @@ undo_pop_fs_to_layer (GimpImage *gimage,
|
|||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (fsu->layer), TRUE);
|
||||
|
||||
/* clear the selection */
|
||||
layer_invalidate_boundary (fsu->layer);
|
||||
gimp_layer_invalidate_boundary (fsu->layer);
|
||||
|
||||
/* update the pointers */
|
||||
fsu->layer->fs.drawable = NULL;
|
||||
|
@ -2108,15 +2108,15 @@ undo_pop_fs_rigor (GimpImage *gimage,
|
|||
UndoType type,
|
||||
gpointer layer_ptr)
|
||||
{
|
||||
gint32 layer_ID;
|
||||
Layer *floating_layer;
|
||||
gint32 layer_ID;
|
||||
GimpLayer *floating_layer;
|
||||
|
||||
layer_ID = *((gint32 *) layer_ptr);
|
||||
|
||||
if ((floating_layer = (GimpLayer *) gimp_drawable_get_by_ID (layer_ID)) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (! layer_is_floating_sel (floating_layer))
|
||||
if (! gimp_layer_is_floating_sel (floating_layer))
|
||||
return FALSE;
|
||||
|
||||
switch (state)
|
||||
|
@ -2187,15 +2187,15 @@ undo_pop_fs_relax (GimpImage *gimage,
|
|||
UndoType type,
|
||||
gpointer layer_ptr)
|
||||
{
|
||||
gint32 layer_ID;
|
||||
Layer *floating_layer;
|
||||
gint32 layer_ID;
|
||||
GimpLayer *floating_layer;
|
||||
|
||||
layer_ID = *((gint32 *) layer_ptr);
|
||||
|
||||
if ((floating_layer = (GimpLayer *) gimp_drawable_get_by_ID (layer_ID)) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (! layer_is_floating_sel (floating_layer))
|
||||
if (! gimp_layer_is_floating_sel (floating_layer))
|
||||
return FALSE;
|
||||
|
||||
switch (state)
|
||||
|
@ -2812,7 +2812,7 @@ undo_push_layer_rename (GimpImage *gimage,
|
|||
new->free_func = undo_free_layer_rename;
|
||||
|
||||
data->layer = layer;
|
||||
data->old_name = g_strdup (layer_get_name (layer));
|
||||
data->old_name = g_strdup (gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -2829,8 +2829,8 @@ undo_pop_layer_rename (GimpImage *gimage,
|
|||
LayerRenameUndo *data = data_ptr;
|
||||
gchar *tmp;
|
||||
|
||||
tmp = g_strdup (layer_get_name (data->layer));
|
||||
layer_set_name (data->layer, data->old_name);
|
||||
tmp = g_strdup (gimp_object_get_name (GIMP_OBJECT (data->layer)));
|
||||
gimp_object_set_name (GIMP_OBJECT (data->layer), data->old_name);
|
||||
g_free (data->old_name);
|
||||
data->old_name = tmp;
|
||||
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -42,11 +42,11 @@
|
|||
|
||||
|
||||
void
|
||||
floating_sel_attach (Layer *layer,
|
||||
floating_sel_attach (GimpLayer *layer,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
GImage *gimage;
|
||||
Layer *floating_sel;
|
||||
GImage *gimage;
|
||||
GimpLayer *floating_sel;
|
||||
|
||||
if (! (gimage = gimp_drawable_gimage (drawable)))
|
||||
return;
|
||||
|
@ -84,7 +84,7 @@ floating_sel_attach (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_remove (Layer *layer)
|
||||
floating_sel_remove (GimpLayer *layer)
|
||||
{
|
||||
GImage *gimage;
|
||||
|
||||
|
@ -105,13 +105,13 @@ floating_sel_remove (Layer *layer)
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_anchor (Layer *layer)
|
||||
floating_sel_anchor (GimpLayer *layer)
|
||||
{
|
||||
GImage *gimage;
|
||||
|
||||
if (! (gimage = gimp_drawable_gimage (GIMP_DRAWABLE (layer))))
|
||||
return;
|
||||
if (! layer_is_floating_sel (layer))
|
||||
if (! gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
g_message (_("Cannot anchor this layer because\nit is not a floating selection."));
|
||||
return;
|
||||
|
@ -145,7 +145,7 @@ floating_sel_anchor (Layer *layer)
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_reset (Layer *layer)
|
||||
floating_sel_reset (GimpLayer *layer)
|
||||
{
|
||||
GImage *gimage;
|
||||
|
||||
|
@ -162,18 +162,18 @@ floating_sel_reset (Layer *layer)
|
|||
{
|
||||
gimp_image_set_active_channel (gimage, GIMP_CHANNEL (layer->fs.drawable));
|
||||
if (gimage->layers)
|
||||
gimage->active_layer = (((Layer *) gimage->layer_stack->data));
|
||||
gimage->active_layer = (((GimpLayer *) gimage->layer_stack->data));
|
||||
else
|
||||
gimage->active_layer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
floating_sel_to_layer (Layer *layer)
|
||||
floating_sel_to_layer (GimpLayer *layer)
|
||||
{
|
||||
FStoLayerUndo *fsu;
|
||||
int off_x, off_y;
|
||||
int width, height;
|
||||
gint off_x, off_y;
|
||||
gint width, height;
|
||||
|
||||
GImage *gimage;
|
||||
|
||||
|
@ -214,7 +214,7 @@ floating_sel_to_layer (Layer *layer)
|
|||
undo_push_fs_to_layer (gimage, fsu);
|
||||
|
||||
/* clear the selection */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set pointers */
|
||||
layer->fs.drawable = NULL;
|
||||
|
@ -239,15 +239,15 @@ floating_sel_to_layer (Layer *layer)
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_store (Layer *layer,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h)
|
||||
floating_sel_store (GimpLayer *layer,
|
||||
gint x,
|
||||
gint y,
|
||||
gint w,
|
||||
gint h)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
int offx, offy;
|
||||
int x1, y1, x2, y2;
|
||||
gint offx, offy;
|
||||
gint x1, y1, x2, y2;
|
||||
|
||||
/* Check the backing store & make sure it has the correct dimensions */
|
||||
if ((tile_manager_width (layer->fs.backing_store) != gimp_drawable_width (GIMP_DRAWABLE(layer))) ||
|
||||
|
@ -297,15 +297,15 @@ floating_sel_store (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_restore (Layer *layer,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h)
|
||||
floating_sel_restore (GimpLayer *layer,
|
||||
gint x,
|
||||
gint y,
|
||||
gint w,
|
||||
gint h)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
int offx, offy;
|
||||
int x1, y1, x2, y2;
|
||||
gint offx, offy;
|
||||
gint x1, y1, x2, y2;
|
||||
|
||||
/* What this function does is "uncover" the specified area in the
|
||||
* drawable that this floating selection obscures. We do this so
|
||||
|
@ -342,8 +342,8 @@ floating_sel_restore (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_rigor (Layer *layer,
|
||||
int undo)
|
||||
floating_sel_rigor (GimpLayer *layer,
|
||||
gint undo)
|
||||
{
|
||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||
|
||||
|
@ -360,8 +360,8 @@ floating_sel_rigor (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_relax (Layer *layer,
|
||||
int undo)
|
||||
floating_sel_relax (GimpLayer *layer,
|
||||
gint undo)
|
||||
{
|
||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||
|
||||
|
@ -379,21 +379,21 @@ floating_sel_relax (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_composite (Layer *layer,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h,
|
||||
int undo)
|
||||
floating_sel_composite (GimpLayer *layer,
|
||||
gint x,
|
||||
gint y,
|
||||
gint w,
|
||||
gint h,
|
||||
gint undo)
|
||||
{
|
||||
PixelRegion fsPR;
|
||||
GImage *gimage;
|
||||
Layer *d_layer;
|
||||
int preserve_trans;
|
||||
int active[MAX_CHANNELS];
|
||||
int offx, offy;
|
||||
int x1, y1, x2, y2;
|
||||
int i;
|
||||
PixelRegion fsPR;
|
||||
GImage *gimage;
|
||||
GimpLayer *d_layer;
|
||||
gint preserve_trans;
|
||||
gint active[MAX_CHANNELS];
|
||||
gint offx, offy;
|
||||
gint x1, y1, x2, y2;
|
||||
gint i;
|
||||
|
||||
d_layer = NULL;
|
||||
|
||||
|
@ -482,8 +482,8 @@ floating_sel_composite (Layer *layer,
|
|||
}
|
||||
|
||||
BoundSeg *
|
||||
floating_sel_boundary (Layer *layer,
|
||||
int *num_segs)
|
||||
floating_sel_boundary (GimpLayer *layer,
|
||||
gint *num_segs)
|
||||
{
|
||||
PixelRegion bPR;
|
||||
int i;
|
||||
|
@ -520,7 +520,7 @@ floating_sel_boundary (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_invalidate (Layer *layer)
|
||||
floating_sel_invalidate (GimpLayer *layer)
|
||||
{
|
||||
/* Invalidate the attached-to drawable's preview */
|
||||
gimp_drawable_invalidate_preview (layer->fs.drawable, TRUE);
|
||||
|
|
|
@ -20,40 +20,40 @@
|
|||
#define __FLOATING_SEL_H__
|
||||
|
||||
|
||||
void floating_sel_attach (Layer *,
|
||||
GimpDrawable *);
|
||||
void floating_sel_remove (Layer *);
|
||||
void floating_sel_anchor (Layer *);
|
||||
void floating_sel_reset (Layer *);
|
||||
void floating_sel_to_layer (Layer *);
|
||||
void floating_sel_store (Layer *,
|
||||
void floating_sel_attach (GimpLayer *layer,
|
||||
GimpDrawable *drawable);
|
||||
void floating_sel_remove (GimpLayer *layer);
|
||||
void floating_sel_anchor (GimpLayer *layer);
|
||||
void floating_sel_reset (GimpLayer *layer);
|
||||
void floating_sel_to_layer (GimpLayer *layer);
|
||||
void floating_sel_store (GimpLayer *layer,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint );
|
||||
void floating_sel_restore (Layer *,
|
||||
void floating_sel_restore (GimpLayer *layer,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint );
|
||||
void floating_sel_rigor (Layer *,
|
||||
void floating_sel_rigor (GimpLayer *layer,
|
||||
gint );
|
||||
void floating_sel_relax (Layer *,
|
||||
void floating_sel_relax (GimpLayer *layer,
|
||||
gint );
|
||||
void floating_sel_composite (Layer *,
|
||||
void floating_sel_composite (GimpLayer *layer,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint );
|
||||
BoundSeg * floating_sel_boundary (Layer *,
|
||||
BoundSeg * floating_sel_boundary (GimpLayer *layer,
|
||||
gint *);
|
||||
void floating_sel_bounds (Layer *,
|
||||
void floating_sel_bounds (GimpLayer *layer,
|
||||
gint *,
|
||||
gint *,
|
||||
gint *,
|
||||
gint *);
|
||||
void floating_sel_invalidate (Layer *);
|
||||
void floating_sel_invalidate (GimpLayer *layer);
|
||||
|
||||
|
||||
#endif /* __FLOATING_SEL_H__ */
|
||||
|
|
|
@ -67,10 +67,10 @@ static void gimp_layer_preview_scale (GimpImageBaseType type,
|
|||
PixelRegion *destPR,
|
||||
gint subsample);
|
||||
|
||||
static TempBuf * gimp_layer_preview_private (Layer *layer,
|
||||
static TempBuf * gimp_layer_preview_private (GimpLayer *layer,
|
||||
gint width,
|
||||
gint height);
|
||||
static TempBuf * gimp_layer_mask_preview_private (Layer *layer,
|
||||
static TempBuf * gimp_layer_mask_preview_private (GimpLayer *layer,
|
||||
gint width,
|
||||
gint height);
|
||||
|
||||
|
@ -152,7 +152,7 @@ gimp_layer_invalidate_preview (GimpDrawable *drawable)
|
|||
|
||||
layer = GIMP_LAYER (drawable);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_invalidate (layer);
|
||||
}
|
||||
|
||||
|
@ -1211,19 +1211,6 @@ gimp_layer_pick_correlate (GimpLayer *layer,
|
|||
/* access functions */
|
||||
/**********************/
|
||||
|
||||
void
|
||||
gimp_layer_set_name (GimpLayer *layer,
|
||||
const gchar *name)
|
||||
{
|
||||
gimp_object_set_name (GIMP_OBJECT (layer), name);
|
||||
}
|
||||
|
||||
const gchar *
|
||||
gimp_layer_get_name (const GimpLayer *layer)
|
||||
{
|
||||
return gimp_object_get_name (GIMP_OBJECT (layer));
|
||||
}
|
||||
|
||||
GimpLayerMask *
|
||||
gimp_layer_get_mask (GimpLayer *layer)
|
||||
{
|
||||
|
@ -1254,19 +1241,6 @@ gimp_layer_linked (GimpLayer *layer)
|
|||
return layer->linked;
|
||||
}
|
||||
|
||||
Tattoo
|
||||
gimp_layer_get_tattoo (const GimpLayer *layer)
|
||||
{
|
||||
return gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
}
|
||||
|
||||
void
|
||||
gimp_layer_set_tattoo (GimpLayer *layer,
|
||||
Tattoo value)
|
||||
{
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (layer), value);
|
||||
}
|
||||
|
||||
TempBuf *
|
||||
gimp_layer_preview (GimpLayer *layer,
|
||||
gint width,
|
||||
|
|
|
@ -23,38 +23,11 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* EEK */
|
||||
|
||||
#define layer_new gimp_layer_new
|
||||
#define layer_copy gimp_layer_copy
|
||||
#define layer_create_mask gimp_layer_create_mask
|
||||
#define layer_scale gimp_layer_scale
|
||||
#define layer_resize gimp_layer_resize
|
||||
#define layer_delete gimp_layer_delete
|
||||
#define layer_translate gimp_layer_translate
|
||||
#define layer_get_name gimp_layer_get_name
|
||||
#define layer_set_name gimp_layer_set_name
|
||||
#define layer_get_tattoo gimp_layer_get_tattoo
|
||||
#define layer_set_tattoo gimp_layer_set_tattoo
|
||||
#define layer_add_alpha gimp_layer_add_alpha
|
||||
#define layer_has_alpha gimp_layer_has_alpha
|
||||
#define layer_preview gimp_layer_preview
|
||||
#define layer_is_floating_sel gimp_layer_is_floating_sel
|
||||
#define layer_invalidate_previews gimp_layer_invalidate_previews
|
||||
#define layer_linked gimp_layer_linked
|
||||
#define layer_get_mask gimp_layer_get_mask
|
||||
#define layer_new_from_tiles gimp_layer_new_from_tiles
|
||||
#define layer_resize_to_image gimp_layer_resize_to_image
|
||||
#define layer_invalidate_boundary gimp_layer_invalidate_boundary
|
||||
#define layer_scale_by_factors gimp_layer_scale_by_factors
|
||||
#define layer_boundary gimp_layer_boundary
|
||||
#define layer_pick_correlate gimp_layer_pick_correlate
|
||||
#define layer_apply_mask gimp_layer_apply_mask
|
||||
#define layer_add_mask gimp_layer_add_mask
|
||||
#define layer_check_scaling gimp_layer_check_scaling
|
||||
|
||||
|
||||
#define gimp_drawable_layer GIMP_IS_LAYER
|
||||
/* PDB stuff */
|
||||
#define gimp_layer_set_name(l,n) gimp_object_set_name(GIMP_OBJECT(l),(n))
|
||||
#define gimp_layer_get_name(l) gimp_object_get_name(GIMP_OBJECT(l))
|
||||
#define gimp_layer_set_tattoo(l,t) gimp_drawable_set_tattoo(GIMP_DRAWABLE(l),(t))
|
||||
#define gimp_layer_get_tattoo(l) gimp_drawable_get_tattoo(GIMP_DRAWABLE(l))
|
||||
|
||||
|
||||
#define GIMP_TYPE_LAYER (gimp_layer_get_type ())
|
||||
|
@ -64,7 +37,7 @@
|
|||
#define GIMP_IS_LAYER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_LAYER))
|
||||
|
||||
|
||||
typedef struct _GimpLayerClass GimpLayerClass;
|
||||
typedef struct _GimpLayerClass GimpLayerClass;
|
||||
|
||||
struct _GimpLayer
|
||||
{
|
||||
|
@ -104,9 +77,9 @@ struct _GimpLayerClass
|
|||
|
||||
struct _LayerUndo
|
||||
{
|
||||
GimpLayer *layer; /* the actual layer */
|
||||
gint prev_position; /* former position in list */
|
||||
GimpLayer *prev_layer; /* previous active layer */
|
||||
GimpLayer *layer; /* the actual layer */
|
||||
gint prev_position; /* former position in list */
|
||||
GimpLayer *prev_layer; /* previous active layer */
|
||||
};
|
||||
|
||||
struct _FStoLayerUndo
|
||||
|
@ -170,16 +143,10 @@ gint gimp_layer_pick_correlate (GimpLayer *layer,
|
|||
gint x,
|
||||
gint y);
|
||||
|
||||
void gimp_layer_set_name (GimpLayer *layer,
|
||||
const gchar *name);
|
||||
const gchar * gimp_layer_get_name (const GimpLayer *layer);
|
||||
GimpLayerMask * gimp_layer_get_mask (GimpLayer *layer);
|
||||
gboolean gimp_layer_has_alpha (GimpLayer *layer);
|
||||
gboolean gimp_layer_is_floating_sel (GimpLayer *layer);
|
||||
gboolean gimp_layer_linked (GimpLayer *layer);
|
||||
Tattoo gimp_layer_get_tattoo (const GimpLayer *layer);
|
||||
void gimp_layer_set_tattoo (GimpLayer *layer,
|
||||
Tattoo value);
|
||||
|
||||
TempBuf * gimp_layer_preview (GimpLayer *layer,
|
||||
gint width,
|
||||
|
|
|
@ -23,9 +23,6 @@
|
|||
#include "channel.h"
|
||||
|
||||
|
||||
#define gimp_drawable_layer_mask GIMP_IS_LAYER_MASK
|
||||
|
||||
|
||||
#define GIMP_TYPE_LAYER_MASK (gimp_layer_mask_get_type ())
|
||||
#define GIMP_LAYER_MASK(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_LAYER_MASK, GimpLayerMask))
|
||||
#define GIMP_LAYER_MASK_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_LAYER_MASK, GimpLayerMaskClass))
|
||||
|
@ -74,7 +71,7 @@ GimpLayerMask * gimp_layer_mask_copy (GimpLayerMask *layer_mask);
|
|||
|
||||
void gimp_layer_mask_set_layer (GimpLayerMask *layer_mask,
|
||||
GimpLayer *layer);
|
||||
Layer * gimp_layer_mask_get_layer (GimpLayerMask *layer_mask);
|
||||
GimpLayer * gimp_layer_mask_get_layer (GimpLayerMask *layer_mask);
|
||||
|
||||
|
||||
#endif /* __GIMP_LAYER_MASK_H__ */
|
||||
|
|
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -1439,9 +1439,9 @@ gdisplay_mask_bounds (GDisplay *gdisp,
|
|||
gint *x2,
|
||||
gint *y2)
|
||||
{
|
||||
Layer *layer;
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
GimpLayer *layer;
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
|
||||
/* If there is a floating selection, handle things differently */
|
||||
if ((layer = gimp_image_floating_sel (gdisp->gimage)))
|
||||
|
@ -1734,14 +1734,14 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
|
|||
GimpImageBaseType base_type = 0;
|
||||
GimpImageType type = -1;
|
||||
GimpDrawable *drawable = NULL;
|
||||
Layer *layer = NULL;
|
||||
gboolean fs = FALSE;
|
||||
gboolean aux = FALSE;
|
||||
gboolean lm = FALSE;
|
||||
gboolean lp = FALSE;
|
||||
gboolean alpha = FALSE;
|
||||
gint lind = -1;
|
||||
gint lnum = -1;
|
||||
GimpLayer *layer = NULL;
|
||||
gboolean fs = FALSE;
|
||||
gboolean aux = FALSE;
|
||||
gboolean lm = FALSE;
|
||||
gboolean lp = FALSE;
|
||||
gboolean alpha = FALSE;
|
||||
gint lind = -1;
|
||||
gint lnum = -1;
|
||||
|
||||
if (gdisp)
|
||||
{
|
||||
|
@ -1760,8 +1760,8 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
|
|||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer)
|
||||
{
|
||||
lm = layer_get_mask (layer) ? TRUE : FALSE;
|
||||
alpha = layer_has_alpha (layer);
|
||||
lm = gimp_layer_get_mask (layer) ? TRUE : FALSE;
|
||||
alpha = gimp_layer_has_alpha (layer);
|
||||
}
|
||||
|
||||
lind = gimp_image_get_layer_index (gdisp->gimage,
|
||||
|
@ -2243,11 +2243,11 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
SelectionControl function)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
gint count = 0;
|
||||
GSList *list;
|
||||
gint count = 0;
|
||||
|
||||
/* traverse the linked list of displays, handling each one */
|
||||
while (list)
|
||||
for (list = display_list; list; list = g_slist_next (list))
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
if (gdisp->gimage == gimage && gdisp->select)
|
||||
|
@ -2272,8 +2272,6 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
}
|
||||
count++;
|
||||
}
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2281,8 +2279,8 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
gboolean
|
||||
gdisplays_dirty (void)
|
||||
{
|
||||
gboolean dirty = FALSE;
|
||||
GSList *list = display_list;
|
||||
gboolean dirty = FALSE;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* traverse the linked list of displays */
|
||||
while (list)
|
||||
|
|
|
@ -1365,7 +1365,7 @@ resize_check_layer_scaling (ImageResize *image_scale)
|
|||
gboolean success = FALSE;
|
||||
GImage *gimage = NULL;
|
||||
GSList *list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
GtkWidget *dialog = NULL;
|
||||
|
||||
g_assert (image_scale != NULL);
|
||||
|
@ -1378,10 +1378,10 @@ resize_check_layer_scaling (ImageResize *image_scale)
|
|||
list = gimage->layers;
|
||||
while (list && success == TRUE)
|
||||
{
|
||||
layer = (Layer *)list->data;
|
||||
success = layer_check_scaling (layer,
|
||||
image_scale->resize->width,
|
||||
image_scale->resize->height);
|
||||
layer = (GimpLayer *)list->data;
|
||||
success = gimp_layer_check_scaling (layer,
|
||||
image_scale->resize->width,
|
||||
image_scale->resize->height);
|
||||
list = g_slist_next (list);
|
||||
|
||||
}
|
||||
|
|
|
@ -790,9 +790,9 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
*/
|
||||
if (drawable)
|
||||
{
|
||||
GImage *src_gimage;
|
||||
Layer *new_layer;
|
||||
GImage *dest_gimage;
|
||||
GimpImage *src_gimage;
|
||||
GimpLayer *new_layer;
|
||||
GimpImage *dest_gimage;
|
||||
gint src_width, src_height;
|
||||
gint dest_width, dest_height;
|
||||
gint off_x, off_y;
|
||||
|
@ -851,11 +851,11 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
undo_push_group_start (dest_gimage, EDIT_PASTE_UNDO);
|
||||
|
||||
new_layer =
|
||||
layer_new_from_tiles (dest_gimage,
|
||||
gimp_image_base_type_with_alpha (dest_gimage),
|
||||
tiles,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new_from_tiles (dest_gimage,
|
||||
gimp_image_base_type_with_alpha (dest_gimage),
|
||||
tiles,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
tile_manager_destroy (tiles);
|
||||
|
||||
|
@ -866,7 +866,7 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
off_x = (dest_gimage->width - src_width) / 2;
|
||||
off_y = (dest_gimage->height - src_height) / 2;
|
||||
|
||||
layer_translate (new_layer, off_x, off_y);
|
||||
gimp_layer_translate (new_layer, off_x, off_y);
|
||||
|
||||
gimp_image_add_layer (dest_gimage, new_layer, -1);
|
||||
|
||||
|
|
|
@ -790,9 +790,9 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
*/
|
||||
if (drawable)
|
||||
{
|
||||
GImage *src_gimage;
|
||||
Layer *new_layer;
|
||||
GImage *dest_gimage;
|
||||
GimpImage *src_gimage;
|
||||
GimpLayer *new_layer;
|
||||
GimpImage *dest_gimage;
|
||||
gint src_width, src_height;
|
||||
gint dest_width, dest_height;
|
||||
gint off_x, off_y;
|
||||
|
@ -851,11 +851,11 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
undo_push_group_start (dest_gimage, EDIT_PASTE_UNDO);
|
||||
|
||||
new_layer =
|
||||
layer_new_from_tiles (dest_gimage,
|
||||
gimp_image_base_type_with_alpha (dest_gimage),
|
||||
tiles,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new_from_tiles (dest_gimage,
|
||||
gimp_image_base_type_with_alpha (dest_gimage),
|
||||
tiles,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
tile_manager_destroy (tiles);
|
||||
|
||||
|
@ -866,7 +866,7 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
off_x = (dest_gimage->width - src_width) / 2;
|
||||
off_y = (dest_gimage->height - src_height) / 2;
|
||||
|
||||
layer_translate (new_layer, off_x, off_y);
|
||||
gimp_layer_translate (new_layer, off_x, off_y);
|
||||
|
||||
gimp_image_add_layer (dest_gimage, new_layer, -1);
|
||||
|
||||
|
|
|
@ -1439,9 +1439,9 @@ gdisplay_mask_bounds (GDisplay *gdisp,
|
|||
gint *x2,
|
||||
gint *y2)
|
||||
{
|
||||
Layer *layer;
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
GimpLayer *layer;
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
|
||||
/* If there is a floating selection, handle things differently */
|
||||
if ((layer = gimp_image_floating_sel (gdisp->gimage)))
|
||||
|
@ -1734,14 +1734,14 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
|
|||
GimpImageBaseType base_type = 0;
|
||||
GimpImageType type = -1;
|
||||
GimpDrawable *drawable = NULL;
|
||||
Layer *layer = NULL;
|
||||
gboolean fs = FALSE;
|
||||
gboolean aux = FALSE;
|
||||
gboolean lm = FALSE;
|
||||
gboolean lp = FALSE;
|
||||
gboolean alpha = FALSE;
|
||||
gint lind = -1;
|
||||
gint lnum = -1;
|
||||
GimpLayer *layer = NULL;
|
||||
gboolean fs = FALSE;
|
||||
gboolean aux = FALSE;
|
||||
gboolean lm = FALSE;
|
||||
gboolean lp = FALSE;
|
||||
gboolean alpha = FALSE;
|
||||
gint lind = -1;
|
||||
gint lnum = -1;
|
||||
|
||||
if (gdisp)
|
||||
{
|
||||
|
@ -1760,8 +1760,8 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
|
|||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer)
|
||||
{
|
||||
lm = layer_get_mask (layer) ? TRUE : FALSE;
|
||||
alpha = layer_has_alpha (layer);
|
||||
lm = gimp_layer_get_mask (layer) ? TRUE : FALSE;
|
||||
alpha = gimp_layer_has_alpha (layer);
|
||||
}
|
||||
|
||||
lind = gimp_image_get_layer_index (gdisp->gimage,
|
||||
|
@ -2243,11 +2243,11 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
SelectionControl function)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
gint count = 0;
|
||||
GSList *list;
|
||||
gint count = 0;
|
||||
|
||||
/* traverse the linked list of displays, handling each one */
|
||||
while (list)
|
||||
for (list = display_list; list; list = g_slist_next (list))
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
if (gdisp->gimage == gimage && gdisp->select)
|
||||
|
@ -2272,8 +2272,6 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
}
|
||||
count++;
|
||||
}
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2281,8 +2279,8 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
gboolean
|
||||
gdisplays_dirty (void)
|
||||
{
|
||||
gboolean dirty = FALSE;
|
||||
GSList *list = display_list;
|
||||
gboolean dirty = FALSE;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* traverse the linked list of displays */
|
||||
while (list)
|
||||
|
|
|
@ -790,9 +790,9 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
*/
|
||||
if (drawable)
|
||||
{
|
||||
GImage *src_gimage;
|
||||
Layer *new_layer;
|
||||
GImage *dest_gimage;
|
||||
GimpImage *src_gimage;
|
||||
GimpLayer *new_layer;
|
||||
GimpImage *dest_gimage;
|
||||
gint src_width, src_height;
|
||||
gint dest_width, dest_height;
|
||||
gint off_x, off_y;
|
||||
|
@ -851,11 +851,11 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
undo_push_group_start (dest_gimage, EDIT_PASTE_UNDO);
|
||||
|
||||
new_layer =
|
||||
layer_new_from_tiles (dest_gimage,
|
||||
gimp_image_base_type_with_alpha (dest_gimage),
|
||||
tiles,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new_from_tiles (dest_gimage,
|
||||
gimp_image_base_type_with_alpha (dest_gimage),
|
||||
tiles,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
tile_manager_destroy (tiles);
|
||||
|
||||
|
@ -866,7 +866,7 @@ gdisplay_drag_drop (GtkWidget *widget,
|
|||
off_x = (dest_gimage->width - src_width) / 2;
|
||||
off_y = (dest_gimage->height - src_height) / 2;
|
||||
|
||||
layer_translate (new_layer, off_x, off_y);
|
||||
gimp_layer_translate (new_layer, off_x, off_y);
|
||||
|
||||
gimp_image_add_layer (dest_gimage, new_layer, -1);
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#define PREVIEW_EVENT_MASK GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK
|
||||
|
||||
|
||||
typedef struct _LayerSelect LayerSelect;
|
||||
|
||||
struct _LayerSelect
|
||||
|
@ -49,7 +50,7 @@ struct _LayerSelect
|
|||
GtkWidget *preview;
|
||||
|
||||
GImage *gimage;
|
||||
Layer *current_layer;
|
||||
GimpLayer *current_layer;
|
||||
gboolean dirty;
|
||||
gint image_width;
|
||||
gint image_height;
|
||||
|
@ -203,10 +204,11 @@ static void
|
|||
layer_select_advance (LayerSelect *layer_select,
|
||||
gint move)
|
||||
{
|
||||
gint index; gint count;
|
||||
GSList *list;
|
||||
GSList *nth;
|
||||
Layer *layer;
|
||||
gint index;
|
||||
gint count;
|
||||
GSList *list;
|
||||
GSList *nth;
|
||||
GimpLayer *layer;
|
||||
|
||||
index = 0;
|
||||
|
||||
|
@ -221,7 +223,7 @@ layer_select_advance (LayerSelect *layer_select,
|
|||
list;
|
||||
list = g_slist_next (list), count++)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer == layer_select->current_layer)
|
||||
index = count;
|
||||
|
@ -234,7 +236,7 @@ layer_select_advance (LayerSelect *layer_select,
|
|||
|
||||
if (nth)
|
||||
{
|
||||
layer = (Layer *) nth->data;
|
||||
layer = (GimpLayer *) nth->data;
|
||||
layer_select->current_layer = layer;
|
||||
}
|
||||
}
|
||||
|
@ -317,9 +319,9 @@ layer_select_set_gimage (LayerSelect *layer_select,
|
|||
static void
|
||||
layer_select_set_layer (LayerSelect *layer_select)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
return;
|
||||
|
||||
/* Set the layer label */
|
||||
|
@ -420,10 +422,10 @@ preview_events (GtkWidget *widget,
|
|||
static void
|
||||
preview_redraw (LayerSelect *layer_select)
|
||||
{
|
||||
Layer *layer;
|
||||
TempBuf *preview_buf;
|
||||
gint w, h;
|
||||
gint offx, offy;
|
||||
GimpLayer *layer;
|
||||
TempBuf *preview_buf;
|
||||
gint w, h;
|
||||
gint offx, offy;
|
||||
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
return;
|
||||
|
@ -435,25 +437,27 @@ preview_redraw (LayerSelect *layer_select)
|
|||
layer_select->image_height,
|
||||
-1);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
render_fs_preview (layer_select->layer_preview,
|
||||
layer_select->layer_pixmap);
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
render_fs_preview (layer_select->layer_preview,
|
||||
layer_select->layer_pixmap);
|
||||
}
|
||||
else
|
||||
{
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
/* determine width and height */
|
||||
w = (gint) (layer_select->ratio *
|
||||
gimp_drawable_width (GIMP_DRAWABLE(layer)));
|
||||
gimp_drawable_width (GIMP_DRAWABLE (layer)));
|
||||
h = (gint) (layer_select->ratio *
|
||||
gimp_drawable_height (GIMP_DRAWABLE(layer)));
|
||||
gimp_drawable_height (GIMP_DRAWABLE (layer)));
|
||||
offx = (gint) (layer_select->ratio * off_x);
|
||||
offy = (gint) (layer_select->ratio * off_y);
|
||||
|
||||
preview_buf = layer_preview (layer, w, h);
|
||||
preview_buf = gimp_layer_preview (layer, w, h);
|
||||
preview_buf->x = offx;
|
||||
preview_buf->y = offy;
|
||||
|
||||
|
|
|
@ -42,11 +42,11 @@
|
|||
|
||||
|
||||
void
|
||||
floating_sel_attach (Layer *layer,
|
||||
floating_sel_attach (GimpLayer *layer,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
GImage *gimage;
|
||||
Layer *floating_sel;
|
||||
GImage *gimage;
|
||||
GimpLayer *floating_sel;
|
||||
|
||||
if (! (gimage = gimp_drawable_gimage (drawable)))
|
||||
return;
|
||||
|
@ -84,7 +84,7 @@ floating_sel_attach (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_remove (Layer *layer)
|
||||
floating_sel_remove (GimpLayer *layer)
|
||||
{
|
||||
GImage *gimage;
|
||||
|
||||
|
@ -105,13 +105,13 @@ floating_sel_remove (Layer *layer)
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_anchor (Layer *layer)
|
||||
floating_sel_anchor (GimpLayer *layer)
|
||||
{
|
||||
GImage *gimage;
|
||||
|
||||
if (! (gimage = gimp_drawable_gimage (GIMP_DRAWABLE (layer))))
|
||||
return;
|
||||
if (! layer_is_floating_sel (layer))
|
||||
if (! gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
g_message (_("Cannot anchor this layer because\nit is not a floating selection."));
|
||||
return;
|
||||
|
@ -145,7 +145,7 @@ floating_sel_anchor (Layer *layer)
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_reset (Layer *layer)
|
||||
floating_sel_reset (GimpLayer *layer)
|
||||
{
|
||||
GImage *gimage;
|
||||
|
||||
|
@ -162,18 +162,18 @@ floating_sel_reset (Layer *layer)
|
|||
{
|
||||
gimp_image_set_active_channel (gimage, GIMP_CHANNEL (layer->fs.drawable));
|
||||
if (gimage->layers)
|
||||
gimage->active_layer = (((Layer *) gimage->layer_stack->data));
|
||||
gimage->active_layer = (((GimpLayer *) gimage->layer_stack->data));
|
||||
else
|
||||
gimage->active_layer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
floating_sel_to_layer (Layer *layer)
|
||||
floating_sel_to_layer (GimpLayer *layer)
|
||||
{
|
||||
FStoLayerUndo *fsu;
|
||||
int off_x, off_y;
|
||||
int width, height;
|
||||
gint off_x, off_y;
|
||||
gint width, height;
|
||||
|
||||
GImage *gimage;
|
||||
|
||||
|
@ -214,7 +214,7 @@ floating_sel_to_layer (Layer *layer)
|
|||
undo_push_fs_to_layer (gimage, fsu);
|
||||
|
||||
/* clear the selection */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set pointers */
|
||||
layer->fs.drawable = NULL;
|
||||
|
@ -239,15 +239,15 @@ floating_sel_to_layer (Layer *layer)
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_store (Layer *layer,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h)
|
||||
floating_sel_store (GimpLayer *layer,
|
||||
gint x,
|
||||
gint y,
|
||||
gint w,
|
||||
gint h)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
int offx, offy;
|
||||
int x1, y1, x2, y2;
|
||||
gint offx, offy;
|
||||
gint x1, y1, x2, y2;
|
||||
|
||||
/* Check the backing store & make sure it has the correct dimensions */
|
||||
if ((tile_manager_width (layer->fs.backing_store) != gimp_drawable_width (GIMP_DRAWABLE(layer))) ||
|
||||
|
@ -297,15 +297,15 @@ floating_sel_store (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_restore (Layer *layer,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h)
|
||||
floating_sel_restore (GimpLayer *layer,
|
||||
gint x,
|
||||
gint y,
|
||||
gint w,
|
||||
gint h)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
int offx, offy;
|
||||
int x1, y1, x2, y2;
|
||||
gint offx, offy;
|
||||
gint x1, y1, x2, y2;
|
||||
|
||||
/* What this function does is "uncover" the specified area in the
|
||||
* drawable that this floating selection obscures. We do this so
|
||||
|
@ -342,8 +342,8 @@ floating_sel_restore (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_rigor (Layer *layer,
|
||||
int undo)
|
||||
floating_sel_rigor (GimpLayer *layer,
|
||||
gint undo)
|
||||
{
|
||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||
|
||||
|
@ -360,8 +360,8 @@ floating_sel_rigor (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_relax (Layer *layer,
|
||||
int undo)
|
||||
floating_sel_relax (GimpLayer *layer,
|
||||
gint undo)
|
||||
{
|
||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||
|
||||
|
@ -379,21 +379,21 @@ floating_sel_relax (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_composite (Layer *layer,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h,
|
||||
int undo)
|
||||
floating_sel_composite (GimpLayer *layer,
|
||||
gint x,
|
||||
gint y,
|
||||
gint w,
|
||||
gint h,
|
||||
gint undo)
|
||||
{
|
||||
PixelRegion fsPR;
|
||||
GImage *gimage;
|
||||
Layer *d_layer;
|
||||
int preserve_trans;
|
||||
int active[MAX_CHANNELS];
|
||||
int offx, offy;
|
||||
int x1, y1, x2, y2;
|
||||
int i;
|
||||
PixelRegion fsPR;
|
||||
GImage *gimage;
|
||||
GimpLayer *d_layer;
|
||||
gint preserve_trans;
|
||||
gint active[MAX_CHANNELS];
|
||||
gint offx, offy;
|
||||
gint x1, y1, x2, y2;
|
||||
gint i;
|
||||
|
||||
d_layer = NULL;
|
||||
|
||||
|
@ -482,8 +482,8 @@ floating_sel_composite (Layer *layer,
|
|||
}
|
||||
|
||||
BoundSeg *
|
||||
floating_sel_boundary (Layer *layer,
|
||||
int *num_segs)
|
||||
floating_sel_boundary (GimpLayer *layer,
|
||||
gint *num_segs)
|
||||
{
|
||||
PixelRegion bPR;
|
||||
int i;
|
||||
|
@ -520,7 +520,7 @@ floating_sel_boundary (Layer *layer,
|
|||
}
|
||||
|
||||
void
|
||||
floating_sel_invalidate (Layer *layer)
|
||||
floating_sel_invalidate (GimpLayer *layer)
|
||||
{
|
||||
/* Invalidate the attached-to drawable's preview */
|
||||
gimp_drawable_invalidate_preview (layer->fs.drawable, TRUE);
|
||||
|
|
|
@ -20,40 +20,40 @@
|
|||
#define __FLOATING_SEL_H__
|
||||
|
||||
|
||||
void floating_sel_attach (Layer *,
|
||||
GimpDrawable *);
|
||||
void floating_sel_remove (Layer *);
|
||||
void floating_sel_anchor (Layer *);
|
||||
void floating_sel_reset (Layer *);
|
||||
void floating_sel_to_layer (Layer *);
|
||||
void floating_sel_store (Layer *,
|
||||
void floating_sel_attach (GimpLayer *layer,
|
||||
GimpDrawable *drawable);
|
||||
void floating_sel_remove (GimpLayer *layer);
|
||||
void floating_sel_anchor (GimpLayer *layer);
|
||||
void floating_sel_reset (GimpLayer *layer);
|
||||
void floating_sel_to_layer (GimpLayer *layer);
|
||||
void floating_sel_store (GimpLayer *layer,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint );
|
||||
void floating_sel_restore (Layer *,
|
||||
void floating_sel_restore (GimpLayer *layer,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint );
|
||||
void floating_sel_rigor (Layer *,
|
||||
void floating_sel_rigor (GimpLayer *layer,
|
||||
gint );
|
||||
void floating_sel_relax (Layer *,
|
||||
void floating_sel_relax (GimpLayer *layer,
|
||||
gint );
|
||||
void floating_sel_composite (Layer *,
|
||||
void floating_sel_composite (GimpLayer *layer,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint ,
|
||||
gint );
|
||||
BoundSeg * floating_sel_boundary (Layer *,
|
||||
BoundSeg * floating_sel_boundary (GimpLayer *layer,
|
||||
gint *);
|
||||
void floating_sel_bounds (Layer *,
|
||||
void floating_sel_bounds (GimpLayer *layer,
|
||||
gint *,
|
||||
gint *,
|
||||
gint *,
|
||||
gint *);
|
||||
void floating_sel_invalidate (Layer *);
|
||||
void floating_sel_invalidate (GimpLayer *layer);
|
||||
|
||||
|
||||
#endif /* __FLOATING_SEL_H__ */
|
||||
|
|
|
@ -1439,9 +1439,9 @@ gdisplay_mask_bounds (GDisplay *gdisp,
|
|||
gint *x2,
|
||||
gint *y2)
|
||||
{
|
||||
Layer *layer;
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
GimpLayer *layer;
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
|
||||
/* If there is a floating selection, handle things differently */
|
||||
if ((layer = gimp_image_floating_sel (gdisp->gimage)))
|
||||
|
@ -1734,14 +1734,14 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
|
|||
GimpImageBaseType base_type = 0;
|
||||
GimpImageType type = -1;
|
||||
GimpDrawable *drawable = NULL;
|
||||
Layer *layer = NULL;
|
||||
gboolean fs = FALSE;
|
||||
gboolean aux = FALSE;
|
||||
gboolean lm = FALSE;
|
||||
gboolean lp = FALSE;
|
||||
gboolean alpha = FALSE;
|
||||
gint lind = -1;
|
||||
gint lnum = -1;
|
||||
GimpLayer *layer = NULL;
|
||||
gboolean fs = FALSE;
|
||||
gboolean aux = FALSE;
|
||||
gboolean lm = FALSE;
|
||||
gboolean lp = FALSE;
|
||||
gboolean alpha = FALSE;
|
||||
gint lind = -1;
|
||||
gint lnum = -1;
|
||||
|
||||
if (gdisp)
|
||||
{
|
||||
|
@ -1760,8 +1760,8 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
|
|||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer)
|
||||
{
|
||||
lm = layer_get_mask (layer) ? TRUE : FALSE;
|
||||
alpha = layer_has_alpha (layer);
|
||||
lm = gimp_layer_get_mask (layer) ? TRUE : FALSE;
|
||||
alpha = gimp_layer_has_alpha (layer);
|
||||
}
|
||||
|
||||
lind = gimp_image_get_layer_index (gdisp->gimage,
|
||||
|
@ -2243,11 +2243,11 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
SelectionControl function)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
gint count = 0;
|
||||
GSList *list;
|
||||
gint count = 0;
|
||||
|
||||
/* traverse the linked list of displays, handling each one */
|
||||
while (list)
|
||||
for (list = display_list; list; list = g_slist_next (list))
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
if (gdisp->gimage == gimage && gdisp->select)
|
||||
|
@ -2272,8 +2272,6 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
}
|
||||
count++;
|
||||
}
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2281,8 +2279,8 @@ gdisplays_selection_visibility (GimpImage *gimage,
|
|||
gboolean
|
||||
gdisplays_dirty (void)
|
||||
{
|
||||
gboolean dirty = FALSE;
|
||||
GSList *list = display_list;
|
||||
gboolean dirty = FALSE;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* traverse the linked list of displays */
|
||||
while (list)
|
||||
|
|
|
@ -239,7 +239,7 @@ void
|
|||
gimage_set_layer_mask_apply (GimpImage *gimage,
|
||||
GimpLayer *layer)
|
||||
{
|
||||
int off_x, off_y;
|
||||
gint off_x, off_y;
|
||||
|
||||
g_return_if_fail (gimage);
|
||||
g_return_if_fail (layer);
|
||||
|
@ -256,7 +256,7 @@ gimage_set_layer_mask_apply (GimpImage *gimage,
|
|||
|
||||
void
|
||||
gimage_set_layer_mask_edit (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
gboolean edit)
|
||||
{
|
||||
/* find the layer */
|
||||
|
|
|
@ -59,7 +59,7 @@ gimage_mask_boundary (GImage *gimage,
|
|||
gint *num_segs_out)
|
||||
{
|
||||
GimpDrawable *d;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1;
|
||||
gint x2, y2;
|
||||
|
||||
|
@ -137,8 +137,8 @@ gimage_mask_bounds (GImage *gimage,
|
|||
void
|
||||
gimage_mask_invalidate (GImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
Channel *mask;
|
||||
GimpLayer *layer;
|
||||
Channel *mask;
|
||||
|
||||
/* Turn the current selection off */
|
||||
gdisplays_selection_visibility (gimage, SelectionOff);
|
||||
|
@ -151,7 +151,7 @@ gimage_mask_invalidate (GImage *gimage)
|
|||
* mask in the composition of the floating selection
|
||||
*/
|
||||
layer = gimp_image_get_active_layer (gimage);
|
||||
if (layer && layer_is_floating_sel (layer))
|
||||
if (layer && gimp_layer_is_floating_sel (layer))
|
||||
drawable_update (GIMP_DRAWABLE(layer), 0, 0,
|
||||
GIMP_DRAWABLE(layer)->width,
|
||||
GIMP_DRAWABLE(layer)->height);
|
||||
|
@ -325,7 +325,7 @@ gimage_mask_extract (GImage *gimage,
|
|||
*/
|
||||
if (cut_gimage && GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
if (layer_is_floating_sel (GIMP_LAYER (drawable)))
|
||||
if (gimp_layer_is_floating_sel (GIMP_LAYER (drawable)))
|
||||
floating_sel_remove (GIMP_LAYER (drawable));
|
||||
else
|
||||
gimp_image_remove_layer (gimage, GIMP_LAYER (drawable));
|
||||
|
@ -343,14 +343,13 @@ gimage_mask_extract (GImage *gimage,
|
|||
return tiles;
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimage_mask_float (GImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
gint off_x, /* optional offset */
|
||||
gint off_y)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
Channel *mask = gimp_image_get_mask (gimage);
|
||||
TileManager *tiles;
|
||||
gboolean non_empty;
|
||||
|
@ -372,11 +371,11 @@ gimage_mask_float (GImage *gimage,
|
|||
tiles = gimage_mask_extract (gimage, drawable, TRUE, FALSE, TRUE);
|
||||
|
||||
/* Create a new layer from the buffer */
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
tiles,
|
||||
_("Floated Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
tiles,
|
||||
_("Floated Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
/* Set the offsets */
|
||||
tile_manager_get_offsets (tiles, &x1, &y1);
|
||||
|
@ -502,8 +501,8 @@ gimage_mask_shrink (GImage *gimage,
|
|||
|
||||
|
||||
void
|
||||
gimage_mask_layer_alpha (GImage *gimage,
|
||||
Layer *layer)
|
||||
gimage_mask_layer_alpha (GimpImage *gimage,
|
||||
GimpLayer *layer)
|
||||
{
|
||||
/* extract the layer's alpha channel */
|
||||
if (gimp_drawable_has_alpha (GIMP_DRAWABLE (layer)))
|
||||
|
@ -521,11 +520,11 @@ gimage_mask_layer_alpha (GImage *gimage,
|
|||
|
||||
|
||||
void
|
||||
gimage_mask_layer_mask (GImage *gimage,
|
||||
Layer *layer)
|
||||
gimage_mask_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer)
|
||||
{
|
||||
/* extract the layer's alpha channel */
|
||||
if (layer_get_mask (layer))
|
||||
if (gimp_layer_get_mask (layer))
|
||||
{
|
||||
/* load the mask with the given layer's alpha channel */
|
||||
channel_layer_mask (gimp_image_get_mask (gimage), layer);
|
||||
|
|
|
@ -44,13 +44,13 @@ void gimage_mask_translate (GImage *gimage,
|
|||
gint off_x,
|
||||
gint off_y);
|
||||
|
||||
TileManager * gimage_mask_extract (GImage *gimage,
|
||||
TileManager * gimage_mask_extract (GImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
gboolean cut_gimage,
|
||||
gboolean keep_indexed,
|
||||
gboolean add_alpha);
|
||||
|
||||
Layer * gimage_mask_float (GImage *gimage,
|
||||
GimpLayer * gimage_mask_float (GImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
gint off_x,
|
||||
gint off_y);
|
||||
|
@ -80,15 +80,15 @@ void gimage_mask_shrink (GImage *gimage,
|
|||
gboolean edge_lock);
|
||||
|
||||
void gimage_mask_layer_alpha (GImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
|
||||
void gimage_mask_layer_mask (GImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
|
||||
void gimage_mask_load (GImage *gimage,
|
||||
Channel *channel);
|
||||
|
||||
Channel * gimage_mask_save (GImage *gimage);
|
||||
Channel * gimage_mask_save (GImage *gimage);
|
||||
|
||||
gboolean gimage_mask_stroke (GImage *gimage,
|
||||
GimpDrawable *drawable);
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* OPERATIONS */
|
||||
|
||||
/* Half way point where a region is no longer visible in a selection */
|
||||
#define HALF_WAY 127
|
||||
|
||||
|
@ -71,18 +69,19 @@ typedef struct _ChannelUndo ChannelUndo;
|
|||
|
||||
struct _ChannelUndo
|
||||
{
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
Channel *channel; /* the actual channel */
|
||||
gint prev_position; /* former position in list */
|
||||
Channel *prev_channel; /* previous active channel */
|
||||
};
|
||||
|
||||
|
||||
/* Special undo type */
|
||||
typedef struct _MaskUndo MaskUndo;
|
||||
|
||||
struct _MaskUndo
|
||||
{
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
TileManager *tiles; /* the actual mask */
|
||||
gint x, y; /* offsets */
|
||||
};
|
||||
|
||||
|
||||
|
@ -221,7 +220,4 @@ void channel_layer_mask (Channel *mask,
|
|||
void channel_invalidate_bounds (Channel *channel);
|
||||
|
||||
|
||||
#define gimp_drawable_channel GIMP_IS_CHANNEL
|
||||
|
||||
|
||||
#endif /* __CHANNEL_H__ */
|
||||
|
|
|
@ -1086,7 +1086,7 @@ gimp_dnd_set_drawable_preview_icon (GtkWidget *widget,
|
|||
|
||||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
tmpbuf = layer_preview (GIMP_LAYER (drawable), width, height);
|
||||
tmpbuf = gimp_layer_preview (GIMP_LAYER (drawable), width, height);
|
||||
}
|
||||
else if (GIMP_IS_LAYER_MASK (drawable))
|
||||
{
|
||||
|
|
|
@ -567,13 +567,13 @@ duplicate (GimpImage *gimage)
|
|||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
GimpImage *new_gimage;
|
||||
Layer *layer, *new_layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer, *new_layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel, *new_channel;
|
||||
GSList *list;
|
||||
GList *glist;
|
||||
Guide *guide = NULL;
|
||||
Layer *active_layer = NULL;
|
||||
GimpLayer *active_layer = NULL;
|
||||
Channel *active_channel = NULL;
|
||||
GimpDrawable *new_floating_sel_drawable = NULL;
|
||||
GimpDrawable *floating_sel_drawable = NULL;
|
||||
|
@ -608,16 +608,16 @@ duplicate (GimpImage *gimage)
|
|||
layer = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
new_layer = layer_copy (layer, FALSE);
|
||||
new_layer = gimp_layer_copy (layer, FALSE);
|
||||
|
||||
gimp_drawable_set_gimage(GIMP_DRAWABLE(new_layer), new_gimage);
|
||||
gimp_drawable_set_gimage (GIMP_DRAWABLE (new_layer), new_gimage);
|
||||
|
||||
/* Make sure the copied layer doesn't say: "<old layer> copy" */
|
||||
layer_set_name(GIMP_LAYER(new_layer),
|
||||
layer_get_name(GIMP_LAYER(layer)));
|
||||
gimp_object_set_name (GIMP_OBJECT (new_layer),
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
/* Make sure if the layer has a layer mask, it's name isn't screwed up */
|
||||
if (new_layer->mask)
|
||||
|
|
|
@ -23,6 +23,12 @@
|
|||
#include "gimpobject.h"
|
||||
|
||||
|
||||
/* PDB stuff */
|
||||
#define gimp_drawable_layer GIMP_IS_LAYER
|
||||
#define gimp_drawable_layer_mask GIMP_IS_LAYER_MASK
|
||||
#define gimp_drawable_channel GIMP_IS_CHANNEL
|
||||
|
||||
|
||||
#define GIMP_TYPE_DRAWABLE (gimp_drawable_get_type ())
|
||||
#define GIMP_DRAWABLE(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_DRAWABLE, GimpDrawable))
|
||||
#define GIMP_IS_DRAWABLE(obj) (GTK_CHECK_TYPE ((obj), GIMP_TYPE_DRAWABLE))
|
||||
|
|
|
@ -329,7 +329,7 @@ typedef struct _Color Color;
|
|||
typedef struct _QuantizeObj QuantizeObj;
|
||||
typedef void (* Pass1_Func) (QuantizeObj *);
|
||||
typedef void (* Pass2i_Func) (QuantizeObj *);
|
||||
typedef void (* Pass2_Func) (QuantizeObj *, Layer *, TileManager *);
|
||||
typedef void (* Pass2_Func) (QuantizeObj *, GimpLayer *, TileManager *);
|
||||
typedef void (* Cleanup_Func) (QuantizeObj *);
|
||||
typedef unsigned long ColorFreq;
|
||||
typedef ColorFreq *CFHistogram;
|
||||
|
@ -416,13 +416,13 @@ static void indexed_cancel_callback (GtkWidget *, gpointer);
|
|||
static void indexed_custom_palette_button_callback (GtkWidget *widget, gpointer data);
|
||||
static void indexed_palette_select_destroy_callback (GtkWidget *widget, gpointer data);
|
||||
|
||||
static void rgb_converter (Layer *, TileManager *, int);
|
||||
static void grayscale_converter (Layer *, TileManager *, int);
|
||||
static void rgb_converter (GimpLayer *, TileManager *, int);
|
||||
static void grayscale_converter (GimpLayer *, TileManager *, int);
|
||||
|
||||
static void zero_histogram_gray (CFHistogram);
|
||||
static void zero_histogram_rgb (CFHistogram);
|
||||
static void generate_histogram_gray (CFHistogram, Layer *, int alpha_dither);
|
||||
static void generate_histogram_rgb (CFHistogram, Layer *, int col_limit, int alpha_dither);
|
||||
static void generate_histogram_gray (CFHistogram, GimpLayer *, int alpha_dither);
|
||||
static void generate_histogram_rgb (CFHistogram, GimpLayer *, int col_limit, int alpha_dither);
|
||||
|
||||
static QuantizeObj* initialize_median_cut (int, int, ConvertDitherType,
|
||||
ConvertPaletteType, int);
|
||||
|
@ -552,14 +552,9 @@ convert_to_indexed (GimpImage *gimage)
|
|||
|
||||
if (dialog->num_cols == 256)
|
||||
{
|
||||
if ((!gimp_image_is_empty (gimage))
|
||||
&&
|
||||
(
|
||||
gimage->layers->next
|
||||
||
|
||||
layer_has_alpha ((Layer *) gimage->layers->data)
|
||||
)
|
||||
)
|
||||
if ((! gimp_image_is_empty (gimage)) &&
|
||||
(gimage->layers->next ||
|
||||
gimp_layer_has_alpha ((GimpLayer *) gimage->layers->data)))
|
||||
{
|
||||
dialog->num_cols = 255;
|
||||
}
|
||||
|
@ -756,14 +751,9 @@ convert_to_indexed (GimpImage *gimage)
|
|||
/* if the image isn't non-alpha/layered, set the default number of
|
||||
colours to one less than max, to leave room for a transparent index
|
||||
for transparent/animated GIFs */
|
||||
if ((!gimp_image_is_empty (gimage))
|
||||
&&
|
||||
(
|
||||
gimage->layers->next
|
||||
||
|
||||
layer_has_alpha ((Layer *) gimage->layers->data)
|
||||
)
|
||||
)
|
||||
if ((! gimp_image_is_empty (gimage)) &&
|
||||
(gimage->layers->next ||
|
||||
gimp_layer_has_alpha ((GimpLayer *) gimage->layers->data)))
|
||||
{
|
||||
frame = gtk_frame_new (_("[ Warning ]"));
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
|
||||
|
@ -1146,7 +1136,7 @@ make_remap_table (const unsigned char old_palette[],
|
|||
}
|
||||
|
||||
static void
|
||||
remap_indexed_layer (Layer *layer,
|
||||
remap_indexed_layer (GimpLayer *layer,
|
||||
unsigned char *remap_table,
|
||||
int num_entries)
|
||||
{
|
||||
|
@ -1157,7 +1147,7 @@ remap_indexed_layer (Layer *layer,
|
|||
unsigned char* src;
|
||||
unsigned char* dest;
|
||||
|
||||
has_alpha = layer_has_alpha (layer) ? 1 : 0;
|
||||
has_alpha = gimp_layer_has_alpha (layer) ? 1 : 0;
|
||||
pixel_region_init (&srcPR,
|
||||
GIMP_DRAWABLE(layer)->tiles, 0, 0,
|
||||
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height,
|
||||
|
@ -1201,8 +1191,8 @@ convert_image (GImage *gimage,
|
|||
ConvertPaletteType palette_type)
|
||||
{
|
||||
QuantizeObj *quantobj;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GimpImageBaseType old_type;
|
||||
GSList *list;
|
||||
GimpImageType new_layer_type;
|
||||
|
@ -1262,7 +1252,7 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
if (old_type == GRAY)
|
||||
generate_histogram_gray (quantobj->histogram, layer, alpha_dither);
|
||||
|
@ -1328,10 +1318,10 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
switch (new_type)
|
||||
{
|
||||
case RGB:
|
||||
|
@ -1412,7 +1402,7 @@ convert_image (GImage *gimage,
|
|||
list = gimage->layers;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
remap_indexed_layer (layer, remap_table, num_entries);
|
||||
|
@ -1468,7 +1458,7 @@ convert_image (GImage *gimage,
|
|||
}
|
||||
|
||||
static void
|
||||
rgb_converter (Layer *layer,
|
||||
rgb_converter (GimpLayer *layer,
|
||||
TileManager *new_tiles,
|
||||
int old_type)
|
||||
{
|
||||
|
@ -1481,7 +1471,7 @@ rgb_converter (Layer *layer,
|
|||
unsigned char *cmap;
|
||||
void *pr;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
|
||||
|
@ -1542,7 +1532,7 @@ rgb_converter (Layer *layer,
|
|||
}
|
||||
|
||||
static void
|
||||
grayscale_converter (Layer *layer,
|
||||
grayscale_converter (GimpLayer *layer,
|
||||
TileManager *new_tiles,
|
||||
int old_type)
|
||||
{
|
||||
|
@ -1555,7 +1545,7 @@ grayscale_converter (Layer *layer,
|
|||
unsigned char *cmap;
|
||||
void *pr;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
|
||||
|
@ -1638,7 +1628,7 @@ zero_histogram_rgb (CFHistogram histogram)
|
|||
|
||||
static void
|
||||
generate_histogram_gray (CFHistogram histogram,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
int alpha_dither)
|
||||
{
|
||||
PixelRegion srcPR;
|
||||
|
@ -1647,7 +1637,7 @@ generate_histogram_gray (CFHistogram histogram,
|
|||
void *pr;
|
||||
gboolean has_alpha;
|
||||
|
||||
has_alpha = (gboolean) layer_has_alpha(layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
for (pr = pixel_regions_register (1, &srcPR);
|
||||
|
@ -1667,7 +1657,7 @@ generate_histogram_gray (CFHistogram histogram,
|
|||
|
||||
static void
|
||||
generate_histogram_rgb (CFHistogram histogram,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
int col_limit,
|
||||
int alpha_dither)
|
||||
{
|
||||
|
@ -1681,7 +1671,7 @@ generate_histogram_rgb (CFHistogram histogram,
|
|||
int row, col, coledge;
|
||||
int offsetx, offsety;
|
||||
|
||||
has_alpha = (gboolean) layer_has_alpha(layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
|
@ -2991,7 +2981,7 @@ custompal_pass1 (QuantizeObj *quantobj)
|
|||
|
||||
static void
|
||||
median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3008,7 +2998,7 @@ median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3052,7 +3042,7 @@ median_cut_pass2_no_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3071,7 +3061,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3129,7 +3119,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3156,7 +3146,7 @@ median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE(layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3204,7 +3194,7 @@ median_cut_pass2_no_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3233,7 +3223,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE (layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3310,7 +3300,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
static void
|
||||
median_cut_pass2_nodestruct_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3332,7 +3322,7 @@ median_cut_pass2_nodestruct_dither_rgb (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
for (pr = pixel_regions_register (2, &srcPR, &destPR); pr != NULL; pr = pixel_regions_process (pr))
|
||||
|
@ -3485,7 +3475,7 @@ init_error_limit (const int error_freedom)
|
|||
|
||||
static void
|
||||
median_cut_pass2_fs_dither_gray (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3516,7 +3506,7 @@ median_cut_pass2_fs_dither_gray (QuantizeObj *quantobj,
|
|||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &offsetx, &offsety);
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
src_bytes = GIMP_DRAWABLE(layer)->bytes;
|
||||
|
@ -3681,7 +3671,7 @@ median_cut_pass2_gray_init (QuantizeObj *quantobj)
|
|||
|
||||
static void
|
||||
median_cut_pass2_fs_dither_rgb (QuantizeObj *quantobj,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
TileManager *new_tiles)
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -3726,7 +3716,7 @@ median_cut_pass2_fs_dither_rgb (QuantizeObj *quantobj,
|
|||
if (gimp_drawable_is_gray (GIMP_DRAWABLE(layer)))
|
||||
red_pix = green_pix = blue_pix = GRAY_PIX;
|
||||
|
||||
has_alpha = layer_has_alpha (layer);
|
||||
has_alpha = gimp_layer_has_alpha (layer);
|
||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||
pixel_region_init (&destPR, new_tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, TRUE);
|
||||
src_bytes = GIMP_DRAWABLE(layer)->bytes;
|
||||
|
|
|
@ -567,13 +567,13 @@ duplicate (GimpImage *gimage)
|
|||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
GimpImage *new_gimage;
|
||||
Layer *layer, *new_layer;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *layer, *new_layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel, *new_channel;
|
||||
GSList *list;
|
||||
GList *glist;
|
||||
Guide *guide = NULL;
|
||||
Layer *active_layer = NULL;
|
||||
GimpLayer *active_layer = NULL;
|
||||
Channel *active_channel = NULL;
|
||||
GimpDrawable *new_floating_sel_drawable = NULL;
|
||||
GimpDrawable *floating_sel_drawable = NULL;
|
||||
|
@ -608,16 +608,16 @@ duplicate (GimpImage *gimage)
|
|||
layer = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
new_layer = layer_copy (layer, FALSE);
|
||||
new_layer = gimp_layer_copy (layer, FALSE);
|
||||
|
||||
gimp_drawable_set_gimage(GIMP_DRAWABLE(new_layer), new_gimage);
|
||||
gimp_drawable_set_gimage (GIMP_DRAWABLE (new_layer), new_gimage);
|
||||
|
||||
/* Make sure the copied layer doesn't say: "<old layer> copy" */
|
||||
layer_set_name(GIMP_LAYER(new_layer),
|
||||
layer_get_name(GIMP_LAYER(layer)));
|
||||
gimp_object_set_name (GIMP_OBJECT (new_layer),
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
/* Make sure if the layer has a layer mask, it's name isn't screwed up */
|
||||
if (new_layer->mask)
|
||||
|
|
341
app/gimpimage.c
341
app/gimpimage.c
|
@ -94,21 +94,21 @@ static void gimp_image_get_active_channels (GimpImage *gimage,
|
|||
|
||||
/* projection functions */
|
||||
static void project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
static void project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest);
|
||||
static void project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask);
|
||||
|
@ -552,11 +552,11 @@ gimp_image_resize (GimpImage *gimage,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GList *guide_list;
|
||||
|
||||
gimp_add_busy_cursors ();
|
||||
|
||||
|
@ -624,9 +624,9 @@ gimp_image_resize (GimpImage *gimage,
|
|||
/* Reposition all layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
layer_translate (layer, offset_x, offset_y);
|
||||
gimp_layer_translate (layer, offset_x, offset_y);
|
||||
}
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
|
@ -646,17 +646,17 @@ gimp_image_scale (GimpImage *gimage,
|
|||
gint new_width,
|
||||
gint new_height)
|
||||
{
|
||||
Channel *channel;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
Channel *channel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *list;
|
||||
GSList *remove = NULL;
|
||||
GList *glist;
|
||||
Guide *guide;
|
||||
gint old_width;
|
||||
gint old_height;
|
||||
gdouble img_scale_w = 1.0;
|
||||
gdouble img_scale_h = 1.0;
|
||||
|
||||
if ((new_width == 0) || (new_height == 0))
|
||||
{
|
||||
|
@ -707,8 +707,9 @@ gimp_image_scale (GimpImage *gimage,
|
|||
list = gimage->layers;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
if (layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (gimp_layer_scale_by_factors (layer, img_scale_w, img_scale_h) == FALSE)
|
||||
{
|
||||
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more
|
||||
* vanishing scaled layer dimensions. Implicit delete implemented
|
||||
|
@ -1373,23 +1374,23 @@ gboolean
|
|||
gimp_image_set_tattoo_state (GimpImage *gimage,
|
||||
Tattoo val)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gboolean retval = TRUE;
|
||||
Channel *channel;
|
||||
GSList *channels;
|
||||
Tattoo maxval = 0;
|
||||
Path *pptr = NULL;
|
||||
PathList *plist;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
||||
for (layers = gimage->layers; layers; layers = g_slist_next (layers))
|
||||
{
|
||||
Tattoo ltattoo;
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
ltattoo = layer_get_tattoo (layer);
|
||||
ltattoo = gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
if (ltattoo > maxval)
|
||||
maxval = ltattoo;
|
||||
if (gimp_image_get_channel_by_tattoo (gimage, ltattoo) != NULL)
|
||||
|
@ -1485,7 +1486,7 @@ gimp_image_colormap_changed (const GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1500,7 +1501,7 @@ project_intensity (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_intensity_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1515,7 +1516,7 @@ project_intensity_alpha (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest)
|
||||
{
|
||||
|
@ -1528,7 +1529,7 @@ project_indexed (GimpImage *gimage,
|
|||
|
||||
static void
|
||||
project_indexed_alpha (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
PixelRegion *src,
|
||||
PixelRegion *dest,
|
||||
PixelRegion *mask)
|
||||
|
@ -1579,14 +1580,16 @@ project_channel (GimpImage *gimage,
|
|||
static void
|
||||
gimp_image_free_layers (GimpImage *gimage)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer_delete (layer);
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (layer));
|
||||
}
|
||||
|
||||
g_slist_free (gimage->layers);
|
||||
g_slist_free (gimage->layer_stack);
|
||||
}
|
||||
|
@ -1616,7 +1619,7 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
gint w,
|
||||
gint h)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion * mask;
|
||||
|
@ -1662,18 +1665,18 @@ gimp_image_construct_layers (GimpImage *gimage,
|
|||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible and not floating selections
|
||||
to the list */
|
||||
if (!layer_is_floating_sel (layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer) &&
|
||||
gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
reverse_list = g_slist_prepend (reverse_list, layer);
|
||||
}
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
x1 = CLAMP (off_x, x, x + w);
|
||||
|
@ -1802,7 +1805,7 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
gint h)
|
||||
{
|
||||
GSList *list;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint coverage = 0;
|
||||
PixelRegion PR;
|
||||
guchar clear[4] = { 0, 0, 0, 0 };
|
||||
|
@ -1816,11 +1819,11 @@ gimp_image_initialize_projection (GimpImage *gimage,
|
|||
{
|
||||
gint off_x, off_y;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)) &&
|
||||
! layer_has_alpha (layer) &&
|
||||
! gimp_layer_has_alpha (layer) &&
|
||||
(off_x <= x) &&
|
||||
(off_y <= y) &&
|
||||
(off_x + gimp_drawable_width (GIMP_DRAWABLE (layer)) >= x + w) &&
|
||||
|
@ -1844,8 +1847,8 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
GimpDrawable *drawable,
|
||||
gint *active)
|
||||
{
|
||||
Layer *layer;
|
||||
gint i;
|
||||
GimpLayer *layer;
|
||||
gint i;
|
||||
|
||||
/* first, blindly copy the gimage active channels */
|
||||
for (i = 0; i < MAX_CHANNELS; i++)
|
||||
|
@ -1864,7 +1867,7 @@ gimp_image_get_active_channels (GimpImage *gimage,
|
|||
if (GIMP_IS_LAYER (drawable))
|
||||
{
|
||||
layer = GIMP_LAYER (drawable);
|
||||
if (layer_has_alpha (layer) && layer->preserve_trans)
|
||||
if (gimp_layer_has_alpha (layer) && layer->preserve_trans)
|
||||
active[gimp_drawable_bytes (drawable) - 1] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1890,31 +1893,30 @@ gimp_image_construct (GimpImage *gimage,
|
|||
|
||||
if (gimage->layers)
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*) gimage->layers->data),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((GimpLayer*) gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
}
|
||||
|
||||
if ((gimage->layers) && /* There's a layer. */
|
||||
(!g_slist_next(gimage->layers)) && /* It's the only layer. */
|
||||
(layer_has_alpha((Layer*)(gimage->layers->data))) && /* It's !flat. */
|
||||
(! g_slist_next (gimage->layers)) && /* It's the only layer. */
|
||||
(gimp_layer_has_alpha ((GimpLayer *) (gimage->layers->data))) && /* It's !flat. */
|
||||
/* It's visible. */
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_visible (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(gimp_drawable_width (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->width) &&
|
||||
(gimp_drawable_height (GIMP_DRAWABLE ((Layer*)(gimage->layers->data))) ==
|
||||
(gimp_drawable_height (GIMP_DRAWABLE (gimage->layers->data)) ==
|
||||
gimage->height) && /* Covers all. */
|
||||
/* Not indexed. */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)))) &&
|
||||
(((Layer*)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
(!gimp_drawable_is_indexed (GIMP_DRAWABLE (gimage->layers->data))) &&
|
||||
(((GimpLayer *)(gimage->layers->data))->opacity == OPAQUE_OPACITY) /*opaq */
|
||||
)
|
||||
{
|
||||
gint xoff;
|
||||
gint yoff;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE ((Layer*)(gimage->layers->data)),
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (gimage->layers->data),
|
||||
&xoff, &yoff);
|
||||
|
||||
|
||||
if ((xoff==0) && (yoff==0)) /* Starts at 0,0 */
|
||||
{
|
||||
PixelRegion srcPR, destPR;
|
||||
|
@ -1923,8 +1925,7 @@ gimp_image_construct (GimpImage *gimage,
|
|||
g_warning("Can use cow-projection hack. Yay!");
|
||||
|
||||
pixel_region_init (&srcPR, gimp_drawable_data
|
||||
(GIMP_DRAWABLE
|
||||
((Layer*)(gimage->layers->data))),
|
||||
(GIMP_DRAWABLE (gimage->layers->data)),
|
||||
x, y, w,h, FALSE);
|
||||
pixel_region_init (&destPR,
|
||||
gimp_image_projection (gimage),
|
||||
|
@ -2111,7 +2112,7 @@ gimp_image_invalidate_layer_previews (GimpImage *gimage)
|
|||
|
||||
for (tmp = gimage->layers; tmp; tmp = g_slist_next (tmp))
|
||||
{
|
||||
layer = (Layer *) tmp->data;
|
||||
layer = (GimpLayer *) tmp->data;
|
||||
|
||||
gimp_drawable_invalidate_preview (GIMP_DRAWABLE (layer), TRUE);
|
||||
}
|
||||
|
@ -2136,11 +2137,11 @@ gimp_image_invalidate_channel_previews (GimpImage *gimage)
|
|||
|
||||
gint
|
||||
gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg)
|
||||
const GimpLayer *layer_arg)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
gint index;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), -1);
|
||||
|
||||
|
@ -2148,7 +2149,7 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers), index++)
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer == layer_arg)
|
||||
return index;
|
||||
|
@ -2157,16 +2158,16 @@ gimp_image_get_layer_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer = (Layer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
layer = (GimpLayer *) g_slist_nth_data (gimage->layers, layer_index);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2195,7 +2196,7 @@ gimp_image_get_channel_index (const GimpImage *gimage,
|
|||
return -1;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_active_layer (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
|
@ -2212,12 +2213,12 @@ gimp_image_get_active_channel (const GimpImage *gimage)
|
|||
return gimage->active_channel;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tattoo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *layers;
|
||||
GimpLayer *layer;
|
||||
GSList *layers;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2225,9 +2226,9 @@ gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
|||
layers;
|
||||
layers = g_slist_next (layers))
|
||||
{
|
||||
layer = (Layer *) layers->data;
|
||||
layer = (GimpLayer *) layers->data;
|
||||
|
||||
if (layer_get_tattoo (layer) == tattoo)
|
||||
if (gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)) == tattoo)
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2322,7 +2323,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
BoundSeg **segs,
|
||||
gint *n_segs)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
g_return_val_if_fail (segs != NULL, FALSE);
|
||||
|
@ -2333,7 +2334,7 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
*/
|
||||
if ((layer = gimage->active_layer))
|
||||
{
|
||||
*segs = layer_boundary (layer, n_segs);
|
||||
*segs = gimp_layer_boundary (layer, n_segs);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -2344,9 +2345,9 @@ gimp_image_layer_boundary (const GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL);
|
||||
|
@ -2358,18 +2359,18 @@ gimp_image_set_active_layer (GimpImage *gimage,
|
|||
{
|
||||
if (! gimage->layers)
|
||||
return NULL;
|
||||
layer = (Layer *) gimage->layers->data;
|
||||
layer = (GimpLayer *) gimage->layers->data;
|
||||
}
|
||||
|
||||
if (! layer)
|
||||
return NULL;
|
||||
|
||||
/* Configure the layer stack to reflect this change */
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, (void *) layer);
|
||||
gimage->layer_stack = g_slist_remove (gimage->layer_stack, layer);
|
||||
gimage->layer_stack = g_slist_prepend (gimage->layer_stack, layer);
|
||||
|
||||
/* invalidate the selection boundary because of a layer modification */
|
||||
layer_invalidate_boundary (layer);
|
||||
gimp_layer_invalidate_boundary (layer);
|
||||
|
||||
/* Set the active layer */
|
||||
gimage->active_layer = layer;
|
||||
|
@ -2466,30 +2467,30 @@ gimp_image_set_component_visible (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer_pick_correlate (layer, x, y))
|
||||
if (gimp_layer_pick_correlate (layer, x, y))
|
||||
return layer;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2513,9 +2514,9 @@ gimp_image_raise_layer (GimpImage *gimage,
|
|||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2540,11 +2541,9 @@ gimp_image_lower_layer (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, curpos+1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2563,7 +2562,7 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer_arg))
|
||||
if (! gimp_layer_has_alpha (layer_arg))
|
||||
{
|
||||
g_message (_("Can't raise Layer without alpha"));
|
||||
return NULL;
|
||||
|
@ -2572,10 +2571,9 @@ gimp_image_raise_layer_to_top (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, 0, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg)
|
||||
GimpLayer *layer_arg)
|
||||
{
|
||||
GSList *list;
|
||||
gint curpos;
|
||||
|
@ -2588,9 +2586,9 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
curpos = g_slist_index (list, layer_arg);
|
||||
if (curpos < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
length = g_slist_length (list);
|
||||
|
||||
|
||||
if (curpos == length-1)
|
||||
{
|
||||
g_message (_("Layer is already on bottom"));
|
||||
|
@ -2600,20 +2598,19 @@ gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
|||
return gimp_image_position_layer (gimage, layer_arg, length-1, TRUE);
|
||||
}
|
||||
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo)
|
||||
{
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
GimpLayer *layer;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
gint x_min, y_min, x_max, y_max;
|
||||
gint off_x, off_y;
|
||||
gint index;
|
||||
gint list_length;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2644,9 +2641,10 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return NULL;
|
||||
|
||||
/* check if we want to move it below a bottom layer without alpha */
|
||||
layer = (Layer *) g_slist_last (list)->data;
|
||||
layer = (GimpLayer *) g_slist_last (list)->data;
|
||||
|
||||
if (new_index == list_length - 1 &&
|
||||
!layer_has_alpha (layer))
|
||||
! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("BG has no alpha, layer was placed above"));
|
||||
new_index--;
|
||||
|
@ -2674,14 +2672,14 @@ gimp_image_position_layer (GimpImage *gimage,
|
|||
return layer_arg;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
gboolean had_floating_sel = FALSE;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2696,7 +2694,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2728,12 +2726,12 @@ gimp_image_merge_visible_layers (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_flatten (GimpImage *gimage)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
|
@ -2747,7 +2745,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2761,27 +2759,27 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
return layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type)
|
||||
{
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GSList *layer_list;
|
||||
GSList *merge_list = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == current_layer)
|
||||
{
|
||||
layer_list = g_slist_next (layer_list);
|
||||
while (layer_list)
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
merge_list = g_slist_append (merge_list, layer);
|
||||
|
@ -2812,7 +2810,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
}
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type)
|
||||
|
@ -2820,9 +2818,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
GSList *reverse_list = NULL;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
Layer *merge_layer;
|
||||
Layer *layer;
|
||||
Layer *bottom;
|
||||
GimpLayer *merge_layer;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *bottom;
|
||||
LayerModeEffects bottom_mode;
|
||||
guchar bg[4] = {0, 0, 0, 0};
|
||||
GimpImageType type;
|
||||
|
@ -2847,7 +2845,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
count = 0;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
switch (merge_type)
|
||||
|
@ -2925,9 +2923,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
case INDEXED: type = INDEXED_GIMAGE; break;
|
||||
}
|
||||
|
||||
merge_layer = layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type, gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
merge_layer = gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
type,
|
||||
gimp_object_get_name (GIMP_OBJECT (layer)),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (!merge_layer)
|
||||
{
|
||||
g_message ("gimp_image_merge_layers: could not allocate merge layer");
|
||||
|
@ -2961,10 +2960,10 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
*/
|
||||
|
||||
merge_layer =
|
||||
layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
gimp_layer_new (gimage, (x2 - x1), (y2 - y1),
|
||||
gimp_drawable_type_with_alpha (GIMP_DRAWABLE (layer)),
|
||||
"merged layer",
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (!merge_layer)
|
||||
{
|
||||
|
@ -2988,7 +2987,7 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
/* Find the index in the layer list of the bottom layer--we need this
|
||||
* in order to add the final, merged layer to the layer list correctly
|
||||
*/
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
position =
|
||||
g_slist_length (gimage->layers) -
|
||||
gimp_image_get_layer_index (gimage, layer);
|
||||
|
@ -3010,13 +3009,14 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
}
|
||||
|
||||
/* Copy the tattoo and parasites of the bottom layer to the new layer */
|
||||
layer_set_tattoo(merge_layer, layer_get_tattoo(layer));
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (merge_layer),
|
||||
gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer)));
|
||||
GIMP_DRAWABLE(merge_layer)->parasites =
|
||||
parasite_list_copy (GIMP_DRAWABLE(layer)->parasites);
|
||||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
/* determine what sort of operation is being attempted and
|
||||
* if it's actually legal...
|
||||
|
@ -3080,7 +3080,8 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
merge_list = gimage->layers;
|
||||
while (merge_list)
|
||||
{
|
||||
layer = (Layer *) merge_list->data;
|
||||
layer = (GimpLayer *) merge_list->data;
|
||||
|
||||
merge_list = g_slist_next (merge_list);
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -3118,9 +3119,9 @@ gimp_image_merge_layers (GimpImage *gimage,
|
|||
return merge_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer *float_layer,
|
||||
gint position)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
@ -3148,7 +3149,7 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
undo_push_layer (gimage, LAYER_ADD_UNDO, lu);
|
||||
|
||||
/* If the layer is a floating selection, set the ID */
|
||||
if (layer_is_floating_sel (float_layer))
|
||||
if (gimp_layer_is_floating_sel (float_layer))
|
||||
gimage->floating_sel = float_layer;
|
||||
|
||||
/* let the layer know about the gimage */
|
||||
|
@ -3205,9 +3206,9 @@ gimp_image_add_layer (GimpImage *gimage,
|
|||
return float_layer;
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerUndo *lu;
|
||||
|
||||
|
@ -3278,7 +3279,7 @@ gimp_image_add_layer_mask (GimpImage *gimage,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
if (! layer_has_alpha (layer))
|
||||
if (! gimp_layer_has_alpha (layer))
|
||||
{
|
||||
g_message (_("Cannot add layer mask to a layer\nwith no alpha channel."));
|
||||
return (NULL);
|
||||
|
@ -3333,7 +3334,7 @@ gimp_image_remove_layer_mask (GimpImage *gimage,
|
|||
lmu->edit_mask = layer->edit_mask;
|
||||
lmu->show_mask = layer->show_mask;
|
||||
|
||||
layer_apply_mask (layer, mode);
|
||||
gimp_layer_apply_mask (layer, mode);
|
||||
|
||||
/* Push the undo--Important to do it here, AFTER the call
|
||||
* to layer_apply_mask, in case the undo push fails and the
|
||||
|
@ -3619,7 +3620,7 @@ gimp_image_is_empty (const GimpImage *gimage)
|
|||
GimpDrawable *
|
||||
gimp_image_active_drawable (const GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_val_if_fail (gimage != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL);
|
||||
|
@ -3805,7 +3806,7 @@ gimp_image_clean_all (GimpImage *gimage)
|
|||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[CLEAN]);
|
||||
}
|
||||
|
||||
Layer *
|
||||
GimpLayer *
|
||||
gimp_image_floating_sel (const GimpImage *gimage)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (gimage), FALSE);
|
||||
|
@ -3898,8 +3899,8 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
gint width,
|
||||
gint height)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
PixelRegion src1PR, src2PR, maskPR;
|
||||
PixelRegion *mask;
|
||||
TempBuf *comp;
|
||||
|
@ -3940,15 +3941,17 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
floating_sel = NULL;
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
/* only add layers that are visible to the list */
|
||||
if (gimp_drawable_visible (GIMP_DRAWABLE (layer)))
|
||||
{
|
||||
/* floating selections are added right above the layer
|
||||
they are attached to */
|
||||
if (layer_is_floating_sel (layer))
|
||||
floating_sel = layer;
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
floating_sel = layer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (floating_sel &&
|
||||
|
@ -3964,7 +3967,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
|
||||
while (reverse_list)
|
||||
{
|
||||
layer = (Layer *) reverse_list->data;
|
||||
layer = (GimpLayer *) reverse_list->data;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -3987,7 +3990,7 @@ gimp_image_construct_composite_preview (GimpImage *gimage,
|
|||
src1PR.data =
|
||||
temp_buf_data (comp) + y1 * src1PR.rowstride + x1 * src1PR.bytes;
|
||||
|
||||
layer_buf = layer_preview (layer, w, h);
|
||||
layer_buf = gimp_layer_preview (layer, w, h);
|
||||
src2PR.bytes = layer_buf->bytes;
|
||||
src2PR.w = src1PR.w;
|
||||
src2PR.h = src1PR.h;
|
||||
|
@ -4115,7 +4118,7 @@ gimp_image_preview_valid (const GimpImage *gimage,
|
|||
void
|
||||
gimp_image_invalidate_preview (GimpImage *gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
g_return_if_fail (GIMP_IS_IMAGE (gimage));
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ struct _GimpImage
|
|||
GSList *channels; /* the list of masks */
|
||||
GSList *layer_stack; /* the layers in MRU order */
|
||||
|
||||
Layer *active_layer; /* ID of active layer */
|
||||
GimpLayer *active_layer; /* ID of active layer */
|
||||
Channel *active_channel; /* ID of active channel */
|
||||
Layer *floating_sel; /* ID of fs layer */
|
||||
GimpLayer *floating_sel; /* ID of fs layer */
|
||||
Channel *selection_mask; /* selection mask channel */
|
||||
|
||||
ParasiteList *parasites; /* Plug-in parasite data */
|
||||
|
@ -164,11 +164,11 @@ struct _Guide
|
|||
|
||||
typedef struct _GimpImageRepaintArg
|
||||
{
|
||||
Layer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
GimpLayer *layer;
|
||||
guint x;
|
||||
guint y;
|
||||
guint width;
|
||||
guint height;
|
||||
} GimpImageRepaintArg;
|
||||
|
||||
|
||||
|
@ -283,14 +283,14 @@ void gimp_image_colormap_changed (const GimpImage *image,
|
|||
/* layer/channel functions */
|
||||
|
||||
gint gimp_image_get_layer_index (const GimpImage *gimage,
|
||||
const Layer *layer_arg);
|
||||
Layer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
const GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_get_layer_by_index (const GimpImage *gimage,
|
||||
gint layer_index);
|
||||
gint gimp_image_get_channel_index (const GimpImage *gimage,
|
||||
const Channel *channel_arg);
|
||||
Layer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_get_active_layer (const GimpImage *gimage);
|
||||
Channel * gimp_image_get_active_channel (const GimpImage *gimage);
|
||||
Layer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_get_layer_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
Channel * gimp_image_get_channel_by_tattoo (const GimpImage *gimage,
|
||||
Tattoo tatoo);
|
||||
|
@ -304,8 +304,8 @@ gboolean gimp_image_get_component_visible (const GimpImage *gimage,
|
|||
gboolean gimp_image_layer_boundary (const GimpImage *gimage,
|
||||
BoundSeg **segs,
|
||||
gint *n_segs);
|
||||
Layer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_set_active_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
Channel * gimp_image_set_active_channel (GimpImage *gimage,
|
||||
Channel *channel);
|
||||
Channel * gimp_image_unset_active_channel (GimpImage *gimage);
|
||||
|
@ -315,40 +315,40 @@ void gimp_image_set_component_active (GimpImage *gimage,
|
|||
void gimp_image_set_component_visible (GimpImage *gimage,
|
||||
ChannelType type,
|
||||
gboolean visible);
|
||||
Layer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
GimpLayer * gimp_image_pick_correlate_layer (const GimpImage *gimage,
|
||||
gint x,
|
||||
gint y);
|
||||
Layer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
Layer *layer_arg);
|
||||
Layer * gimp_image_position_layer (GimpImage *gimage,
|
||||
Layer *layer_arg,
|
||||
GimpLayer * gimp_image_raise_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_raise_layer_to_top (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_lower_layer_to_bottom (GimpImage *gimage,
|
||||
GimpLayer *layer_arg);
|
||||
GimpLayer * gimp_image_position_layer (GimpImage *gimage,
|
||||
GimpLayer *layer_arg,
|
||||
gint new_index,
|
||||
gboolean push_undo);
|
||||
Layer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_merge_visible_layers (GimpImage *gimage,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_merge_down (GimpImage *gimage,
|
||||
Layer *current_layer,
|
||||
GimpLayer * gimp_image_merge_down (GimpImage *gimage,
|
||||
GimpLayer *current_layer,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_flatten (GimpImage *gimage);
|
||||
Layer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GimpLayer * gimp_image_flatten (GimpImage *gimage);
|
||||
GimpLayer * gimp_image_merge_layers (GimpImage *gimage,
|
||||
GSList *merge_list,
|
||||
MergeType merge_type);
|
||||
Layer * gimp_image_add_layer (GimpImage *gimage,
|
||||
Layer *float_layer,
|
||||
GimpLayer * gimp_image_add_layer (GimpImage *gimage,
|
||||
GimpLayer *float_layer,
|
||||
gint position);
|
||||
Layer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer * gimp_image_remove_layer (GimpImage *gimage,
|
||||
GimpLayer *layer);
|
||||
GimpLayerMask * gimp_image_add_layer_mask (GimpImage *gimage,
|
||||
GimpLayer *layer,
|
||||
GimpLayerMask *mask);
|
||||
Channel * gimp_image_remove_layer_mask (GimpImage *gimage,
|
||||
Layer *layer,
|
||||
GimpLayer *layer,
|
||||
MaskApplyMode mode);
|
||||
Channel * gimp_image_raise_channel (GimpImage *gimage,
|
||||
Channel *channel_arg);
|
||||
|
@ -414,7 +414,7 @@ void gimp_image_undo_event (GimpImage *gimage,
|
|||
gint gimp_image_dirty (GimpImage *gimage);
|
||||
gint gimp_image_clean (GimpImage *gimage);
|
||||
void gimp_image_clean_all (GimpImage *gimage);
|
||||
Layer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
GimpLayer * gimp_image_floating_sel (const GimpImage *gimage);
|
||||
guchar * gimp_image_cmap (const GimpImage *gimage);
|
||||
|
||||
/* projection access functions */
|
||||
|
|
|
@ -67,10 +67,10 @@ static void gimp_layer_preview_scale (GimpImageBaseType type,
|
|||
PixelRegion *destPR,
|
||||
gint subsample);
|
||||
|
||||
static TempBuf * gimp_layer_preview_private (Layer *layer,
|
||||
static TempBuf * gimp_layer_preview_private (GimpLayer *layer,
|
||||
gint width,
|
||||
gint height);
|
||||
static TempBuf * gimp_layer_mask_preview_private (Layer *layer,
|
||||
static TempBuf * gimp_layer_mask_preview_private (GimpLayer *layer,
|
||||
gint width,
|
||||
gint height);
|
||||
|
||||
|
@ -152,7 +152,7 @@ gimp_layer_invalidate_preview (GimpDrawable *drawable)
|
|||
|
||||
layer = GIMP_LAYER (drawable);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_invalidate (layer);
|
||||
}
|
||||
|
||||
|
@ -1211,19 +1211,6 @@ gimp_layer_pick_correlate (GimpLayer *layer,
|
|||
/* access functions */
|
||||
/**********************/
|
||||
|
||||
void
|
||||
gimp_layer_set_name (GimpLayer *layer,
|
||||
const gchar *name)
|
||||
{
|
||||
gimp_object_set_name (GIMP_OBJECT (layer), name);
|
||||
}
|
||||
|
||||
const gchar *
|
||||
gimp_layer_get_name (const GimpLayer *layer)
|
||||
{
|
||||
return gimp_object_get_name (GIMP_OBJECT (layer));
|
||||
}
|
||||
|
||||
GimpLayerMask *
|
||||
gimp_layer_get_mask (GimpLayer *layer)
|
||||
{
|
||||
|
@ -1254,19 +1241,6 @@ gimp_layer_linked (GimpLayer *layer)
|
|||
return layer->linked;
|
||||
}
|
||||
|
||||
Tattoo
|
||||
gimp_layer_get_tattoo (const GimpLayer *layer)
|
||||
{
|
||||
return gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
}
|
||||
|
||||
void
|
||||
gimp_layer_set_tattoo (GimpLayer *layer,
|
||||
Tattoo value)
|
||||
{
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (layer), value);
|
||||
}
|
||||
|
||||
TempBuf *
|
||||
gimp_layer_preview (GimpLayer *layer,
|
||||
gint width,
|
||||
|
|
|
@ -23,38 +23,11 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* EEK */
|
||||
|
||||
#define layer_new gimp_layer_new
|
||||
#define layer_copy gimp_layer_copy
|
||||
#define layer_create_mask gimp_layer_create_mask
|
||||
#define layer_scale gimp_layer_scale
|
||||
#define layer_resize gimp_layer_resize
|
||||
#define layer_delete gimp_layer_delete
|
||||
#define layer_translate gimp_layer_translate
|
||||
#define layer_get_name gimp_layer_get_name
|
||||
#define layer_set_name gimp_layer_set_name
|
||||
#define layer_get_tattoo gimp_layer_get_tattoo
|
||||
#define layer_set_tattoo gimp_layer_set_tattoo
|
||||
#define layer_add_alpha gimp_layer_add_alpha
|
||||
#define layer_has_alpha gimp_layer_has_alpha
|
||||
#define layer_preview gimp_layer_preview
|
||||
#define layer_is_floating_sel gimp_layer_is_floating_sel
|
||||
#define layer_invalidate_previews gimp_layer_invalidate_previews
|
||||
#define layer_linked gimp_layer_linked
|
||||
#define layer_get_mask gimp_layer_get_mask
|
||||
#define layer_new_from_tiles gimp_layer_new_from_tiles
|
||||
#define layer_resize_to_image gimp_layer_resize_to_image
|
||||
#define layer_invalidate_boundary gimp_layer_invalidate_boundary
|
||||
#define layer_scale_by_factors gimp_layer_scale_by_factors
|
||||
#define layer_boundary gimp_layer_boundary
|
||||
#define layer_pick_correlate gimp_layer_pick_correlate
|
||||
#define layer_apply_mask gimp_layer_apply_mask
|
||||
#define layer_add_mask gimp_layer_add_mask
|
||||
#define layer_check_scaling gimp_layer_check_scaling
|
||||
|
||||
|
||||
#define gimp_drawable_layer GIMP_IS_LAYER
|
||||
/* PDB stuff */
|
||||
#define gimp_layer_set_name(l,n) gimp_object_set_name(GIMP_OBJECT(l),(n))
|
||||
#define gimp_layer_get_name(l) gimp_object_get_name(GIMP_OBJECT(l))
|
||||
#define gimp_layer_set_tattoo(l,t) gimp_drawable_set_tattoo(GIMP_DRAWABLE(l),(t))
|
||||
#define gimp_layer_get_tattoo(l) gimp_drawable_get_tattoo(GIMP_DRAWABLE(l))
|
||||
|
||||
|
||||
#define GIMP_TYPE_LAYER (gimp_layer_get_type ())
|
||||
|
@ -64,7 +37,7 @@
|
|||
#define GIMP_IS_LAYER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_LAYER))
|
||||
|
||||
|
||||
typedef struct _GimpLayerClass GimpLayerClass;
|
||||
typedef struct _GimpLayerClass GimpLayerClass;
|
||||
|
||||
struct _GimpLayer
|
||||
{
|
||||
|
@ -104,9 +77,9 @@ struct _GimpLayerClass
|
|||
|
||||
struct _LayerUndo
|
||||
{
|
||||
GimpLayer *layer; /* the actual layer */
|
||||
gint prev_position; /* former position in list */
|
||||
GimpLayer *prev_layer; /* previous active layer */
|
||||
GimpLayer *layer; /* the actual layer */
|
||||
gint prev_position; /* former position in list */
|
||||
GimpLayer *prev_layer; /* previous active layer */
|
||||
};
|
||||
|
||||
struct _FStoLayerUndo
|
||||
|
@ -170,16 +143,10 @@ gint gimp_layer_pick_correlate (GimpLayer *layer,
|
|||
gint x,
|
||||
gint y);
|
||||
|
||||
void gimp_layer_set_name (GimpLayer *layer,
|
||||
const gchar *name);
|
||||
const gchar * gimp_layer_get_name (const GimpLayer *layer);
|
||||
GimpLayerMask * gimp_layer_get_mask (GimpLayer *layer);
|
||||
gboolean gimp_layer_has_alpha (GimpLayer *layer);
|
||||
gboolean gimp_layer_is_floating_sel (GimpLayer *layer);
|
||||
gboolean gimp_layer_linked (GimpLayer *layer);
|
||||
Tattoo gimp_layer_get_tattoo (const GimpLayer *layer);
|
||||
void gimp_layer_set_tattoo (GimpLayer *layer,
|
||||
Tattoo value);
|
||||
|
||||
TempBuf * gimp_layer_preview (GimpLayer *layer,
|
||||
gint width,
|
||||
|
|
|
@ -23,9 +23,6 @@
|
|||
#include "channel.h"
|
||||
|
||||
|
||||
#define gimp_drawable_layer_mask GIMP_IS_LAYER_MASK
|
||||
|
||||
|
||||
#define GIMP_TYPE_LAYER_MASK (gimp_layer_mask_get_type ())
|
||||
#define GIMP_LAYER_MASK(obj) (GTK_CHECK_CAST ((obj), GIMP_TYPE_LAYER_MASK, GimpLayerMask))
|
||||
#define GIMP_LAYER_MASK_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_LAYER_MASK, GimpLayerMaskClass))
|
||||
|
@ -74,7 +71,7 @@ GimpLayerMask * gimp_layer_mask_copy (GimpLayerMask *layer_mask);
|
|||
|
||||
void gimp_layer_mask_set_layer (GimpLayerMask *layer_mask,
|
||||
GimpLayer *layer);
|
||||
Layer * gimp_layer_mask_get_layer (GimpLayerMask *layer_mask);
|
||||
GimpLayer * gimp_layer_mask_get_layer (GimpLayerMask *layer_mask);
|
||||
|
||||
|
||||
#endif /* __GIMP_LAYER_MASK_H__ */
|
||||
|
|
|
@ -196,7 +196,7 @@ crop_buffer (TileManager *tiles,
|
|||
}
|
||||
|
||||
TileManager *
|
||||
edit_cut (GImage *gimage,
|
||||
edit_cut (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *cut;
|
||||
|
@ -250,7 +250,7 @@ edit_cut (GImage *gimage,
|
|||
}
|
||||
|
||||
TileManager *
|
||||
edit_copy (GImage *gimage,
|
||||
edit_copy (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *copy;
|
||||
|
@ -298,31 +298,31 @@ edit_copy (GImage *gimage,
|
|||
}
|
||||
|
||||
GimpLayer *
|
||||
edit_paste (GImage *gimage,
|
||||
edit_paste (GimpImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
TileManager *paste,
|
||||
gboolean paste_into)
|
||||
{
|
||||
Layer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint cx, cy;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint cx, cy;
|
||||
|
||||
/* Make a new layer: iff drawable == NULL,
|
||||
* user is pasting into an empty display.
|
||||
*/
|
||||
|
||||
if (drawable != NULL)
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_drawable_type_with_alpha (drawable),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
else
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
@ -374,12 +374,12 @@ edit_paste (GImage *gimage,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_paste_as_new (GImage *invoke,
|
||||
edit_paste_as_new (GimpImage *invoke,
|
||||
TileManager *paste)
|
||||
{
|
||||
GImage *gimage;
|
||||
Layer *layer;
|
||||
GDisplay *gdisp;
|
||||
GimpImage *gimage;
|
||||
GimpLayer *layer;
|
||||
GDisplay *gdisp;
|
||||
|
||||
if (!global_buf)
|
||||
return FALSE;
|
||||
|
@ -392,11 +392,11 @@ edit_paste_as_new (GImage *invoke,
|
|||
gimp_image_set_resolution (gimage, invoke->xresolution, invoke->yresolution);
|
||||
gimp_image_set_unit (gimage, invoke->unit);
|
||||
|
||||
layer = layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new_from_tiles (gimage,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
paste,
|
||||
_("Pasted Layer"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
@ -416,7 +416,7 @@ edit_paste_as_new (GImage *invoke,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_clear (GImage *gimage,
|
||||
edit_clear (GimpImage *gimage,
|
||||
GimpDrawable *drawable)
|
||||
{
|
||||
TileManager *buf_tiles;
|
||||
|
@ -455,7 +455,7 @@ edit_clear (GImage *gimage,
|
|||
}
|
||||
|
||||
gboolean
|
||||
edit_fill (GImage *gimage,
|
||||
edit_fill (GimpImage *gimage,
|
||||
GimpDrawable *drawable,
|
||||
GimpFillType fill_type)
|
||||
{
|
||||
|
|
|
@ -82,7 +82,7 @@ struct _ChannelsDialog
|
|||
ChannelType components[3];
|
||||
|
||||
Channel *active_channel;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *floating_sel;
|
||||
GSList *channel_widgets;
|
||||
};
|
||||
|
||||
|
|
|
@ -917,9 +917,9 @@ void
|
|||
layers_previous_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -940,9 +940,9 @@ void
|
|||
layers_next_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -1053,7 +1053,7 @@ layers_add_alpha_channel_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gimp_layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1075,7 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gimp_layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
|
|
@ -917,9 +917,9 @@ void
|
|||
layers_previous_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -940,9 +940,9 @@ void
|
|||
layers_next_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
Layer *new_layer;
|
||||
gint current_layer;
|
||||
GDisplay *gdisp;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
|
@ -1053,7 +1053,7 @@ layers_add_alpha_channel_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gimp_layer_add_alpha ( gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1075,7 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
|
|||
GDisplay *gdisp;
|
||||
return_if_no_display (gdisp);
|
||||
|
||||
layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gimp_layer_resize_to_image (gdisp->gimage->active_layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#define PREVIEW_EVENT_MASK GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK
|
||||
|
||||
|
||||
typedef struct _LayerSelect LayerSelect;
|
||||
|
||||
struct _LayerSelect
|
||||
|
@ -49,7 +50,7 @@ struct _LayerSelect
|
|||
GtkWidget *preview;
|
||||
|
||||
GImage *gimage;
|
||||
Layer *current_layer;
|
||||
GimpLayer *current_layer;
|
||||
gboolean dirty;
|
||||
gint image_width;
|
||||
gint image_height;
|
||||
|
@ -203,10 +204,11 @@ static void
|
|||
layer_select_advance (LayerSelect *layer_select,
|
||||
gint move)
|
||||
{
|
||||
gint index; gint count;
|
||||
GSList *list;
|
||||
GSList *nth;
|
||||
Layer *layer;
|
||||
gint index;
|
||||
gint count;
|
||||
GSList *list;
|
||||
GSList *nth;
|
||||
GimpLayer *layer;
|
||||
|
||||
index = 0;
|
||||
|
||||
|
@ -221,7 +223,7 @@ layer_select_advance (LayerSelect *layer_select,
|
|||
list;
|
||||
list = g_slist_next (list), count++)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer == layer_select->current_layer)
|
||||
index = count;
|
||||
|
@ -234,7 +236,7 @@ layer_select_advance (LayerSelect *layer_select,
|
|||
|
||||
if (nth)
|
||||
{
|
||||
layer = (Layer *) nth->data;
|
||||
layer = (GimpLayer *) nth->data;
|
||||
layer_select->current_layer = layer;
|
||||
}
|
||||
}
|
||||
|
@ -317,9 +319,9 @@ layer_select_set_gimage (LayerSelect *layer_select,
|
|||
static void
|
||||
layer_select_set_layer (LayerSelect *layer_select)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
return;
|
||||
|
||||
/* Set the layer label */
|
||||
|
@ -420,10 +422,10 @@ preview_events (GtkWidget *widget,
|
|||
static void
|
||||
preview_redraw (LayerSelect *layer_select)
|
||||
{
|
||||
Layer *layer;
|
||||
TempBuf *preview_buf;
|
||||
gint w, h;
|
||||
gint offx, offy;
|
||||
GimpLayer *layer;
|
||||
TempBuf *preview_buf;
|
||||
gint w, h;
|
||||
gint offx, offy;
|
||||
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
return;
|
||||
|
@ -435,25 +437,27 @@ preview_redraw (LayerSelect *layer_select)
|
|||
layer_select->image_height,
|
||||
-1);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
render_fs_preview (layer_select->layer_preview,
|
||||
layer_select->layer_pixmap);
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
render_fs_preview (layer_select->layer_preview,
|
||||
layer_select->layer_pixmap);
|
||||
}
|
||||
else
|
||||
{
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
/* determine width and height */
|
||||
w = (gint) (layer_select->ratio *
|
||||
gimp_drawable_width (GIMP_DRAWABLE(layer)));
|
||||
gimp_drawable_width (GIMP_DRAWABLE (layer)));
|
||||
h = (gint) (layer_select->ratio *
|
||||
gimp_drawable_height (GIMP_DRAWABLE(layer)));
|
||||
gimp_drawable_height (GIMP_DRAWABLE (layer)));
|
||||
offx = (gint) (layer_select->ratio * off_x);
|
||||
offy = (gint) (layer_select->ratio * off_y);
|
||||
|
||||
preview_buf = layer_preview (layer, w, h);
|
||||
preview_buf = gimp_layer_preview (layer, w, h);
|
||||
preview_buf->x = offx;
|
||||
preview_buf->y = offy;
|
||||
|
||||
|
|
|
@ -136,14 +136,14 @@ struct _LayerWidget
|
|||
static void layers_dialog_preview_extents (void);
|
||||
static void layers_dialog_set_menu_sensitivity (void);
|
||||
static void layers_dialog_scroll_index (gint index);
|
||||
static void layers_dialog_set_active_layer (Layer *layer);
|
||||
static void layers_dialog_unset_layer (Layer *layer);
|
||||
static void layers_dialog_position_layer (Layer *layer,
|
||||
static void layers_dialog_set_active_layer (GimpLayer *layer);
|
||||
static void layers_dialog_unset_layer (GimpLayer *layer);
|
||||
static void layers_dialog_position_layer (GimpLayer *layer,
|
||||
gint new_index);
|
||||
static void layers_dialog_add_layer (Layer *layer);
|
||||
static void layers_dialog_remove_layer (Layer *layer);
|
||||
static void layers_dialog_add_layer_mask (Layer *layer);
|
||||
static void layers_dialog_remove_layer_mask (Layer *layer);
|
||||
static void layers_dialog_add_layer (GimpLayer *layer);
|
||||
static void layers_dialog_remove_layer (GimpLayer *layer);
|
||||
static void layers_dialog_add_layer_mask (GimpLayer *layer);
|
||||
static void layers_dialog_remove_layer_mask (GimpLayer *layer);
|
||||
|
||||
static void paint_mode_menu_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
|
@ -182,9 +182,9 @@ static gboolean layers_dialog_drag_trashcan_callback
|
|||
guint time);
|
||||
|
||||
/* layer widget function prototypes */
|
||||
static LayerWidget * layer_widget_get_ID (Layer *layer);
|
||||
static LayerWidget * layer_widget_get_ID (GimpLayer *layer);
|
||||
static LayerWidget * layer_widget_create (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
|
||||
static gboolean layer_widget_drag_motion_callback
|
||||
(GtkWidget *widget,
|
||||
|
@ -234,11 +234,11 @@ static void layer_widget_layer_flush (GtkWidget *widget,
|
|||
/* assorted query dialogs */
|
||||
static void layers_dialog_new_layer_query (GimpImage *gimage);
|
||||
static void layers_dialog_edit_layer_query (LayerWidget *layer_widget);
|
||||
static void layers_dialog_add_mask_query (Layer *layer);
|
||||
static void layers_dialog_add_mask_query (GimpLayer *layer);
|
||||
static void layers_dialog_scale_layer_query (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
static void layers_dialog_resize_layer_query (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
void layers_dialog_layer_merge_query (GimpImage *gimage,
|
||||
gboolean merge_visible);
|
||||
|
||||
|
@ -550,24 +550,24 @@ layers_dialog_free (void)
|
|||
void
|
||||
layers_dialog_invalidate_previews (GimpImage *gimage)
|
||||
{
|
||||
GSList *list = gimage->layers;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
/* Invalidate all previews ...
|
||||
* This is called during loading the image
|
||||
*/
|
||||
while (list)
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
GIMP_DRAWABLE (layer)->preview_valid = FALSE;
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
layers_dialog_update (GimpImage* gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
LayerWidget *lw;
|
||||
GSList *list;
|
||||
GList *item_list;
|
||||
|
@ -607,7 +607,7 @@ layers_dialog_update (GimpImage* gimage)
|
|||
list = g_slist_next (list))
|
||||
{
|
||||
/* create a layer list item */
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
lw = layer_widget_create (gimage, layer);
|
||||
layersD->layer_widgets = g_slist_append (layersD->layer_widgets, lw);
|
||||
item_list = g_list_append (item_list, lw->list_item);
|
||||
|
@ -624,7 +624,7 @@ void
|
|||
layers_dialog_flush (void)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
LayerWidget *lw;
|
||||
GSList *list;
|
||||
gint pos;
|
||||
|
@ -654,7 +654,7 @@ layers_dialog_flush (void)
|
|||
/* Add any missing layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
lw = layer_widget_get_ID (layer);
|
||||
|
||||
/* If the layer isn't in the layer widget list, add it */
|
||||
|
@ -682,7 +682,7 @@ layers_dialog_flush (void)
|
|||
list;
|
||||
list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
layers_dialog_position_layer (layer, pos++);
|
||||
}
|
||||
|
||||
|
@ -1019,34 +1019,34 @@ layers_dialog_preview_extents (void)
|
|||
static void
|
||||
layers_dialog_set_menu_sensitivity (void)
|
||||
{
|
||||
gboolean fs; /* no floating sel */
|
||||
gboolean ac; /* no active channel */
|
||||
gboolean lm; /* layer mask */
|
||||
gboolean gimage; /* is there a gimage */
|
||||
gboolean lp; /* layers present */
|
||||
gboolean alpha; /* alpha channel present */
|
||||
gboolean indexed; /* is indexed */
|
||||
gboolean next_alpha;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
GSList *prev;
|
||||
Layer *layer;
|
||||
gboolean fs; /* no floating sel */
|
||||
gboolean ac; /* no active channel */
|
||||
gboolean lm; /* layer mask */
|
||||
gboolean gimage; /* is there a gimage */
|
||||
gboolean lp; /* layers present */
|
||||
gboolean alpha; /* alpha channel present */
|
||||
gboolean indexed; /* is indexed */
|
||||
gboolean next_alpha;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
GSList *prev;
|
||||
GimpLayer *layer;
|
||||
|
||||
lp = FALSE;
|
||||
lp = FALSE;
|
||||
indexed = FALSE;
|
||||
|
||||
if (! layersD)
|
||||
return;
|
||||
|
||||
if ((layer = (layersD->active_layer)) != NULL)
|
||||
lm = (layer_get_mask (layer)) ? TRUE : FALSE;
|
||||
lm = (gimp_layer_get_mask (layer)) ? TRUE : FALSE;
|
||||
else
|
||||
lm = FALSE;
|
||||
|
||||
fs = (layersD->floating_sel == NULL);
|
||||
ac = (layersD->active_channel == NULL);
|
||||
gimage = (layersD->gimage != NULL);
|
||||
alpha = layer && layer_has_alpha (layer);
|
||||
alpha = layer && gimp_layer_has_alpha (layer);
|
||||
|
||||
if (gimage)
|
||||
{
|
||||
|
@ -1059,7 +1059,7 @@ layers_dialog_set_menu_sensitivity (void)
|
|||
next = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *)list->data;
|
||||
layer = (GimpLayer *)list->data;
|
||||
if (layer == (layersD->active_layer))
|
||||
{
|
||||
next = g_slist_next (list);
|
||||
|
@ -1071,8 +1071,8 @@ layers_dialog_set_menu_sensitivity (void)
|
|||
|
||||
if (next)
|
||||
{
|
||||
layer = (Layer *) next->data;
|
||||
next_alpha = layer_has_alpha (layer);
|
||||
layer = (GimpLayer *) next->data;
|
||||
next_alpha = gimp_layer_has_alpha (layer);
|
||||
}
|
||||
else
|
||||
next_alpha = FALSE;
|
||||
|
@ -1178,7 +1178,7 @@ layer_dialog_idle_set_active_layer_focus (gpointer data)
|
|||
*/
|
||||
|
||||
static void
|
||||
layers_dialog_set_active_layer (Layer *layer)
|
||||
layers_dialog_set_active_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GtkStateType state;
|
||||
|
@ -1212,7 +1212,7 @@ layers_dialog_set_active_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_unset_layer (Layer *layer)
|
||||
layers_dialog_unset_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GtkStateType state;
|
||||
|
@ -1239,8 +1239,8 @@ layers_dialog_unset_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_position_layer (Layer *layer,
|
||||
gint new_index)
|
||||
layers_dialog_position_layer (GimpLayer *layer,
|
||||
gint new_index)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GList *list = NULL;
|
||||
|
@ -1284,7 +1284,7 @@ invalidate_preview_callback (GtkWidget *widget,
|
|||
|
||||
|
||||
static void
|
||||
layers_dialog_add_layer (Layer *layer)
|
||||
layers_dialog_add_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GimpImage *gimage;
|
||||
|
@ -1306,7 +1306,7 @@ layers_dialog_add_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_remove_layer (Layer *layer)
|
||||
layers_dialog_remove_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GList *list = NULL;
|
||||
|
@ -1329,7 +1329,7 @@ layers_dialog_remove_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_add_layer_mask (Layer *layer)
|
||||
layers_dialog_add_layer_mask (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
|
||||
|
@ -1350,7 +1350,7 @@ layers_dialog_add_layer_mask (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_remove_layer_mask (Layer *layer)
|
||||
layers_dialog_remove_layer_mask (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
|
||||
|
@ -1380,14 +1380,14 @@ paint_mode_menu_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
LayerModeEffects mode;
|
||||
|
||||
if (!(gimage = layersD->gimage) || !(layer = gimage->active_layer))
|
||||
return;
|
||||
|
||||
/* If the layer has an alpha channel, set the transparency and redraw */
|
||||
if (layer_has_alpha (layer))
|
||||
if (gimp_layer_has_alpha (layer))
|
||||
{
|
||||
mode = (LayerModeEffects) gtk_object_get_user_data (GTK_OBJECT (widget));
|
||||
|
||||
|
@ -1408,7 +1408,7 @@ opacity_scale_update (GtkAdjustment *adjustment,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint opacity;
|
||||
|
||||
if (!(gimage = layersD->gimage) || !(layer = gimage->active_layer))
|
||||
|
@ -1433,7 +1433,7 @@ preserve_trans_update (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!(gimage = layersD->gimage) || !(layer = gimage->active_layer))
|
||||
return;
|
||||
|
@ -1525,7 +1525,7 @@ layers_dialog_previous_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *new_layer;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
|
@ -1548,7 +1548,7 @@ layers_dialog_next_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *new_layer;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
|
@ -1623,7 +1623,7 @@ layers_dialog_new_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
@ -1646,8 +1646,8 @@ layers_dialog_duplicate_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *active_layer;
|
||||
Layer *new_layer;
|
||||
GimpLayer *active_layer;
|
||||
GimpLayer *new_layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
@ -1656,7 +1656,7 @@ layers_dialog_duplicate_layer_callback (GtkWidget *widget,
|
|||
undo_push_group_start (gimage, LAYER_ADD_UNDO);
|
||||
|
||||
active_layer = gimp_image_get_active_layer (gimage);
|
||||
new_layer = layer_copy (active_layer, TRUE);
|
||||
new_layer = gimp_layer_copy (active_layer, TRUE);
|
||||
gimp_image_add_layer (gimage, new_layer, -1);
|
||||
|
||||
/* End the group undo */
|
||||
|
@ -1670,7 +1670,7 @@ layers_dialog_delete_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD ||
|
||||
!(gimage = layersD->gimage) ||
|
||||
|
@ -1678,7 +1678,7 @@ layers_dialog_delete_layer_callback (GtkWidget *widget,
|
|||
return;
|
||||
|
||||
/* if the layer is a floating selection, take special care */
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_remove (layer);
|
||||
else
|
||||
gimp_image_remove_layer (gimage, gimage->active_layer);
|
||||
|
@ -1719,7 +1719,7 @@ layers_dialog_resize_to_image_callback (GtkWidget *widget,
|
|||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
||||
layer_resize_to_image (gimage->active_layer);
|
||||
gimp_layer_resize_to_image (gimage->active_layer);
|
||||
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
@ -1741,14 +1741,14 @@ layers_dialog_apply_layer_mask_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
||||
/* Make sure there is a layer mask to apply */
|
||||
if ((layer = gimage->active_layer) != NULL &&
|
||||
layer_get_mask (layer))
|
||||
gimp_layer_get_mask (layer))
|
||||
{
|
||||
gboolean flush = !layer->apply_mask || layer->show_mask;
|
||||
|
||||
|
@ -1774,14 +1774,14 @@ layers_dialog_delete_layer_mask_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
||||
/* Make sure there is a layer mask to apply */
|
||||
if ((layer = gimage->active_layer) != NULL &&
|
||||
layer_get_mask (layer))
|
||||
gimp_layer_get_mask (layer))
|
||||
{
|
||||
gboolean flush = layer->apply_mask || layer->show_mask;
|
||||
|
||||
|
@ -1884,14 +1884,14 @@ layers_dialog_add_alpha_channel_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD ||
|
||||
!(gimage = layersD->gimage) ||
|
||||
!(layer = gimp_image_get_active_layer (gimage)))
|
||||
return;
|
||||
|
||||
layer_add_alpha (layer);
|
||||
gimp_layer_add_alpha (layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
@ -1925,15 +1925,15 @@ layers_dialog_drag_new_layer_callback (GtkWidget *widget,
|
|||
|
||||
if ((src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
Layer *layer = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
layer = (Layer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
layer = (GimpLayer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
|
||||
if (layer &&
|
||||
layer == layersD->active_layer)
|
||||
{
|
||||
Layer *new_layer;
|
||||
GimpLayer *new_layer;
|
||||
GimpImage *gimage;
|
||||
gint width, height;
|
||||
gint off_x, off_y;
|
||||
|
@ -1947,15 +1947,15 @@ layers_dialog_drag_new_layer_callback (GtkWidget *widget,
|
|||
/* Start a group undo */
|
||||
undo_push_group_start (gimage, EDIT_PASTE_UNDO);
|
||||
|
||||
new_layer = layer_new (gimage, width, height,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
_("Empty Layer Copy"),
|
||||
layer->opacity,
|
||||
layer->mode);
|
||||
new_layer = gimp_layer_new (gimage, width, height,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
_("Empty Layer Copy"),
|
||||
layer->opacity,
|
||||
layer->mode);
|
||||
if (new_layer)
|
||||
{
|
||||
drawable_fill (GIMP_DRAWABLE (new_layer), TRANSPARENT_FILL);
|
||||
layer_translate (new_layer, off_x, off_y);
|
||||
gimp_layer_translate (new_layer, off_x, off_y);
|
||||
gimp_image_add_layer (gimage, new_layer, -1);
|
||||
|
||||
/* End the group undo */
|
||||
|
@ -1990,14 +1990,14 @@ layers_dialog_drag_duplicate_layer_callback (GtkWidget *widget,
|
|||
|
||||
if ((src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
layer = (Layer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
layer = (GimpLayer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
|
||||
if (layer &&
|
||||
layer == layersD->active_layer &&
|
||||
! layer_is_floating_sel (layer))
|
||||
! gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
layers_dialog_duplicate_layer_callback (widget, NULL);
|
||||
|
||||
|
@ -2059,7 +2059,7 @@ layers_dialog_drag_trashcan_callback (GtkWidget *widget,
|
|||
/****************************/
|
||||
|
||||
static LayerWidget *
|
||||
layer_widget_get_ID (Layer *ID)
|
||||
layer_widget_get_ID (GimpLayer *ID)
|
||||
{
|
||||
LayerWidget *lw;
|
||||
GSList *list;
|
||||
|
@ -2080,7 +2080,7 @@ layer_widget_get_ID (Layer *ID)
|
|||
|
||||
static LayerWidget *
|
||||
layer_widget_create (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GtkWidget *list_item;
|
||||
|
@ -2109,7 +2109,7 @@ layer_widget_create (GimpImage *gimage,
|
|||
layer_widget->drop_type = GIMP_DROP_NONE;
|
||||
layer_widget->layer_pixmap_valid = FALSE;
|
||||
|
||||
if (layer_get_mask (layer))
|
||||
if (gimp_layer_get_mask (layer))
|
||||
layer_widget->active_preview =
|
||||
(layer->edit_mask) ? MASK_PREVIEW : LAYER_PREVIEW;
|
||||
else
|
||||
|
@ -2197,7 +2197,7 @@ layer_widget_create (GimpImage *gimage,
|
|||
gtk_object_set_user_data (GTK_OBJECT (layer_widget->mask_preview),
|
||||
layer_widget);
|
||||
gtk_container_add (GTK_CONTAINER (alignment), layer_widget->mask_preview);
|
||||
if (layer_get_mask (layer) != NULL)
|
||||
if (gimp_layer_get_mask (layer) != NULL)
|
||||
{
|
||||
gtk_object_set_data (GTK_OBJECT (layer_widget->mask_preview),
|
||||
"gimp_layer_mask", gimp_layer_get_mask (layer));
|
||||
|
@ -2215,10 +2215,11 @@ layer_widget_create (GimpImage *gimage,
|
|||
NULL);
|
||||
|
||||
/* the layer name label */
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
layer_widget->label = gtk_label_new (_("Floating Selection"));
|
||||
else
|
||||
layer_widget->label = gtk_label_new (layer_get_name (layer));
|
||||
layer_widget->label =
|
||||
gtk_label_new (gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (hbox), layer_widget->label, FALSE, FALSE, 2);
|
||||
gtk_widget_show (layer_widget->label);
|
||||
|
@ -2274,7 +2275,7 @@ layer_widget_create (GimpImage *gimage,
|
|||
|
||||
gtk_signal_connect_while_alive (GTK_OBJECT (layer), "invalidate_preview",
|
||||
GTK_SIGNAL_FUNC (invalidate_preview_callback),
|
||||
(gpointer)layer_widget,
|
||||
layer_widget,
|
||||
GTK_OBJECT (layer_widget->list_item));
|
||||
|
||||
return layer_widget;
|
||||
|
@ -2300,15 +2301,15 @@ layer_widget_drag_motion_callback (GtkWidget *widget,
|
|||
dest = (LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (widget));
|
||||
|
||||
if (dest &&
|
||||
layer_has_alpha (dest->layer) &&
|
||||
gimp_layer_has_alpha (dest->layer) &&
|
||||
(src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
src
|
||||
= (LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
|
||||
|
||||
if (src &&
|
||||
layer_has_alpha (src->layer) &&
|
||||
! layer_is_floating_sel (src->layer) &&
|
||||
gimp_layer_has_alpha (src->layer) &&
|
||||
! gimp_layer_is_floating_sel (src->layer) &&
|
||||
src->layer == layersD->active_layer)
|
||||
{
|
||||
src_index = gimp_image_get_layer_index (layersD->gimage,
|
||||
|
@ -2380,13 +2381,13 @@ layer_mask_drag_begin_callback (GtkWidget *widget,
|
|||
|
||||
gimp_dnd_set_drawable_preview_icon
|
||||
(widget, context,
|
||||
GIMP_DRAWABLE (layer_get_mask (layer_widget->layer)));
|
||||
GIMP_DRAWABLE (gimp_layer_get_mask (layer_widget->layer)));
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint dest_index;
|
||||
} LayerDrop;
|
||||
|
||||
|
@ -2424,15 +2425,15 @@ layer_widget_drag_drop_callback (GtkWidget *widget,
|
|||
dest = (LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (widget));
|
||||
|
||||
if (dest &&
|
||||
layer_has_alpha (dest->layer) &&
|
||||
gimp_layer_has_alpha (dest->layer) &&
|
||||
(src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
src =
|
||||
(LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
|
||||
|
||||
if (src &&
|
||||
layer_has_alpha (src->layer) &&
|
||||
! layer_is_floating_sel (src->layer) &&
|
||||
gimp_layer_has_alpha (src->layer) &&
|
||||
! gimp_layer_is_floating_sel (src->layer) &&
|
||||
src->layer == layersD->active_layer)
|
||||
{
|
||||
src_index =
|
||||
|
@ -2511,8 +2512,8 @@ layer_widget_drag_indicator_callback (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
layer_widget_draw_drop_indicator (LayerWidget *layer_widget,
|
||||
GimpDropType drop_type)
|
||||
layer_widget_draw_drop_indicator (LayerWidget *layer_widget,
|
||||
GimpDropType drop_type)
|
||||
{
|
||||
static GdkGC *gc = NULL;
|
||||
gint y = 0;
|
||||
|
@ -2765,11 +2766,11 @@ layer_widget_preview_events (GtkWidget *widget,
|
|||
case MASK_PREVIEW:
|
||||
pixmap = &layer_widget->mask_pixmap;
|
||||
valid =
|
||||
GIMP_DRAWABLE (layer_get_mask (layer_widget->layer))->preview_valid;
|
||||
GIMP_DRAWABLE (gimp_layer_get_mask (layer_widget->layer))->preview_valid;
|
||||
break;
|
||||
}
|
||||
|
||||
if (layer_is_floating_sel (layer_widget->layer))
|
||||
if (gimp_layer_is_floating_sel (layer_widget->layer))
|
||||
preview_type = FS_PREVIEW;
|
||||
|
||||
switch (event->type)
|
||||
|
@ -3345,7 +3346,7 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
const gchar *name;
|
||||
gchar *label_name;
|
||||
gboolean update_layer_preview = FALSE;
|
||||
|
@ -3357,14 +3358,14 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
/* Set sensitivity */
|
||||
|
||||
/* to false if there is a floating selection, and this aint it */
|
||||
if (! layer_is_floating_sel (layer_widget->layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer_widget->layer) &&
|
||||
layersD->floating_sel != NULL)
|
||||
{
|
||||
if (GTK_WIDGET_IS_SENSITIVE (layer_widget->list_item))
|
||||
gtk_widget_set_sensitive (layer_widget->list_item, FALSE);
|
||||
}
|
||||
/* to true if there is a floating selection, and this is it */
|
||||
if (layer_is_floating_sel (layer_widget->layer) &&
|
||||
if (gimp_layer_is_floating_sel (layer_widget->layer) &&
|
||||
layersD->floating_sel != NULL)
|
||||
{
|
||||
if (! GTK_WIDGET_IS_SENSITIVE (layer_widget->list_item))
|
||||
|
@ -3398,10 +3399,10 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
GTK_STATE_ACTIVE : GTK_STATE_NORMAL);
|
||||
}
|
||||
|
||||
if (layer_is_floating_sel (layer_widget->layer))
|
||||
if (gimp_layer_is_floating_sel (layer_widget->layer))
|
||||
name = _("Floating Selection");
|
||||
else
|
||||
name = layer_get_name (layer_widget->layer);
|
||||
name = gimp_object_get_name (GIMP_OBJECT (layer_widget->layer));
|
||||
|
||||
/* we need to set the name label if necessary */
|
||||
gtk_label_get (GTK_LABEL (layer_widget->label), &label_name);
|
||||
|
@ -3409,13 +3410,13 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
gtk_label_set_text (GTK_LABEL (layer_widget->label), name);
|
||||
|
||||
/* show the layer mask preview if necessary */
|
||||
if (layer_get_mask (layer_widget->layer) == NULL &&
|
||||
if (gimp_layer_get_mask (layer_widget->layer) == NULL &&
|
||||
layer_widget->layer_mask)
|
||||
{
|
||||
layer_widget->layer_mask = FALSE;
|
||||
layers_dialog_remove_layer_mask (layer_widget->layer);
|
||||
}
|
||||
else if (layer_get_mask (layer_widget->layer) != NULL &&
|
||||
else if (gimp_layer_get_mask (layer_widget->layer) != NULL &&
|
||||
!layer_widget->layer_mask)
|
||||
{
|
||||
layer_widget->layer_mask = TRUE;
|
||||
|
@ -3425,10 +3426,10 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
/* Update the previews */
|
||||
update_layer_preview = (! GIMP_DRAWABLE (layer)->preview_valid);
|
||||
|
||||
if (layer_get_mask (layer))
|
||||
if (gimp_layer_get_mask (layer))
|
||||
{
|
||||
update_mask_preview =
|
||||
(! GIMP_DRAWABLE (layer_get_mask (layer))->preview_valid);
|
||||
(! GIMP_DRAWABLE (gimp_layer_get_mask (layer))->preview_valid);
|
||||
|
||||
if (layer->apply_mask != layer_widget->apply_mask)
|
||||
{
|
||||
|
@ -3488,7 +3489,7 @@ new_layer_query_ok_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
NewLayerOptions *options;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GimpImage *gimage;
|
||||
|
||||
options = (NewLayerOptions *) data;
|
||||
|
@ -3509,9 +3510,9 @@ new_layer_query_ok_callback (GtkWidget *widget,
|
|||
/* Start a group undo */
|
||||
undo_push_group_start (gimage, LAYER_ADD_UNDO);
|
||||
|
||||
layer = layer_new (gimage, options->xsize, options->ysize,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
layer_name, OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new (gimage, options->xsize, options->ysize,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
layer_name, OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (layer)
|
||||
{
|
||||
drawable_fill (GIMP_DRAWABLE (layer), fill_type);
|
||||
|
@ -3692,14 +3693,14 @@ edit_layer_query_ok_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
EditLayerOptions *options;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
options = (EditLayerOptions *) data;
|
||||
|
||||
if ((layer = options->layer))
|
||||
{
|
||||
/* Set the new layer name */
|
||||
if (GIMP_OBJECT (layer)->name && layer_is_floating_sel (layer))
|
||||
if (GIMP_OBJECT (layer)->name && gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
/* If the layer is a floating selection, make it a layer */
|
||||
floating_sel_to_layer (layer);
|
||||
|
@ -3710,8 +3711,8 @@ edit_layer_query_ok_callback (GtkWidget *widget,
|
|||
undo_push_layer_rename (options->gimage, layer);
|
||||
}
|
||||
|
||||
layer_set_name (layer,
|
||||
gtk_entry_get_text (GTK_ENTRY (options->name_entry)));
|
||||
gimp_object_set_name (GIMP_OBJECT (layer),
|
||||
gtk_entry_get_text (GTK_ENTRY (options->name_entry)));
|
||||
}
|
||||
|
||||
gdisplays_flush ();
|
||||
|
@ -3768,9 +3769,9 @@ layers_dialog_edit_layer_query (LayerWidget *layer_widget)
|
|||
options->name_entry = gtk_entry_new ();
|
||||
gtk_box_pack_start (GTK_BOX (hbox), options->name_entry, TRUE, TRUE, 0);
|
||||
gtk_entry_set_text (GTK_ENTRY (options->name_entry),
|
||||
((layer_is_floating_sel (layer_widget->layer) ?
|
||||
((gimp_layer_is_floating_sel (layer_widget->layer) ?
|
||||
_("Floating Selection") :
|
||||
layer_get_name (layer_widget->layer))));
|
||||
gimp_object_get_name (GIMP_OBJECT (layer_widget->layer)))));
|
||||
gtk_signal_connect (GTK_OBJECT (options->name_entry), "activate",
|
||||
edit_layer_query_ok_callback,
|
||||
options);
|
||||
|
@ -3791,7 +3792,7 @@ typedef struct _AddMaskOptions AddMaskOptions;
|
|||
struct _AddMaskOptions
|
||||
{
|
||||
GtkWidget *query_box;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
AddMaskType add_mask_type;
|
||||
};
|
||||
|
||||
|
@ -3808,7 +3809,7 @@ add_mask_query_ok_callback (GtkWidget *widget,
|
|||
if ((layer = (options->layer)) &&
|
||||
(gimage = GIMP_DRAWABLE (layer)->gimage))
|
||||
{
|
||||
mask = layer_create_mask (layer, options->add_mask_type);
|
||||
mask = gimp_layer_create_mask (layer, options->add_mask_type);
|
||||
gimp_image_add_layer_mask (gimage, layer, mask);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
@ -3817,7 +3818,7 @@ add_mask_query_ok_callback (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_add_mask_query (Layer *layer)
|
||||
layers_dialog_add_mask_query (GimpLayer *layer)
|
||||
{
|
||||
AddMaskOptions *options;
|
||||
GtkWidget *frame;
|
||||
|
@ -3877,8 +3878,8 @@ typedef struct _ScaleLayerOptions ScaleLayerOptions;
|
|||
|
||||
struct _ScaleLayerOptions
|
||||
{
|
||||
Layer *layer;
|
||||
Resize *resize;
|
||||
GimpLayer *layer;
|
||||
Resize *resize;
|
||||
};
|
||||
|
||||
static void
|
||||
|
@ -3887,7 +3888,7 @@ scale_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
ScaleLayerOptions *options;
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
options = (ScaleLayerOptions *) data;
|
||||
|
||||
|
@ -3900,13 +3901,14 @@ scale_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
undo_push_group_start (gimage, LAYER_SCALE_UNDO);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
layer_scale (layer,
|
||||
options->resize->width, options->resize->height, TRUE);
|
||||
gimp_layer_scale (layer,
|
||||
options->resize->width, options->resize->height,
|
||||
TRUE);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
undo_push_group_end (gimage);
|
||||
|
@ -3925,7 +3927,7 @@ scale_layer_query_ok_callback (GtkWidget *widget,
|
|||
|
||||
static void
|
||||
layers_dialog_scale_layer_query (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
ScaleLayerOptions *options;
|
||||
|
||||
|
@ -3963,8 +3965,8 @@ typedef struct _ResizeLayerOptions ResizeLayerOptions;
|
|||
|
||||
struct _ResizeLayerOptions
|
||||
{
|
||||
Layer *layer;
|
||||
Resize *resize;
|
||||
GimpLayer *layer;
|
||||
Resize *resize;
|
||||
};
|
||||
|
||||
static void
|
||||
|
@ -3973,7 +3975,7 @@ resize_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
ResizeLayerOptions *options;
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
options = (ResizeLayerOptions *) data;
|
||||
|
||||
|
@ -3986,14 +3988,16 @@ resize_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
undo_push_group_start (gimage, LAYER_RESIZE_UNDO);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
layer_resize (layer,
|
||||
options->resize->width, options->resize->height,
|
||||
options->resize->offset_x, options->resize->offset_y);
|
||||
gimp_layer_resize (layer,
|
||||
options->resize->width,
|
||||
options->resize->height,
|
||||
options->resize->offset_x,
|
||||
options->resize->offset_y);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
undo_push_group_end (gimage);
|
||||
|
@ -4012,7 +4016,7 @@ resize_layer_query_ok_callback (GtkWidget *widget,
|
|||
|
||||
static void
|
||||
layers_dialog_resize_layer_query (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
ResizeLayerOptions *options;
|
||||
|
||||
|
@ -4061,7 +4065,7 @@ layer_merge_query_ok_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
LayerMergeOptions *options;
|
||||
GimpImage *gimage;
|
||||
GimpImage *gimage;
|
||||
|
||||
options = (LayerMergeOptions *) data;
|
||||
if (! (gimage = options->gimage))
|
||||
|
|
|
@ -1365,7 +1365,7 @@ resize_check_layer_scaling (ImageResize *image_scale)
|
|||
gboolean success = FALSE;
|
||||
GImage *gimage = NULL;
|
||||
GSList *list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
GtkWidget *dialog = NULL;
|
||||
|
||||
g_assert (image_scale != NULL);
|
||||
|
@ -1378,10 +1378,10 @@ resize_check_layer_scaling (ImageResize *image_scale)
|
|||
list = gimage->layers;
|
||||
while (list && success == TRUE)
|
||||
{
|
||||
layer = (Layer *)list->data;
|
||||
success = layer_check_scaling (layer,
|
||||
image_scale->resize->width,
|
||||
image_scale->resize->height);
|
||||
layer = (GimpLayer *)list->data;
|
||||
success = gimp_layer_check_scaling (layer,
|
||||
image_scale->resize->width,
|
||||
image_scale->resize->height);
|
||||
list = g_slist_next (list);
|
||||
|
||||
}
|
||||
|
|
|
@ -250,12 +250,12 @@ image_new_rotate_the_shield_harmonics (GtkWidget *widget,
|
|||
void
|
||||
image_new_create_image (const GimpImageNewValues *values)
|
||||
{
|
||||
GimpImage *image;
|
||||
GDisplay *display;
|
||||
Layer *layer;
|
||||
GimpImageType type;
|
||||
GimpParasite *comment_parasite;
|
||||
gint width, height;
|
||||
GimpImage *image;
|
||||
GDisplay *display;
|
||||
GimpLayer *layer;
|
||||
GimpImageType type;
|
||||
GimpParasite *comment_parasite;
|
||||
gint width, height;
|
||||
|
||||
g_return_if_fail (values != NULL);
|
||||
|
||||
|
@ -294,9 +294,9 @@ image_new_create_image (const GimpImageNewValues *values)
|
|||
/* Make the background (or first) layer */
|
||||
width = gimp_image_get_width (image);
|
||||
height = gimp_image_get_height (image);
|
||||
layer = layer_new (image, width, height,
|
||||
type, _("Background"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new (image, width, height,
|
||||
type, _("Background"),
|
||||
OPAQUE_OPACITY, NORMAL_MODE);
|
||||
|
||||
if (layer)
|
||||
{
|
||||
|
|
32
app/layer.c
32
app/layer.c
|
@ -67,10 +67,10 @@ static void gimp_layer_preview_scale (GimpImageBaseType type,
|
|||
PixelRegion *destPR,
|
||||
gint subsample);
|
||||
|
||||
static TempBuf * gimp_layer_preview_private (Layer *layer,
|
||||
static TempBuf * gimp_layer_preview_private (GimpLayer *layer,
|
||||
gint width,
|
||||
gint height);
|
||||
static TempBuf * gimp_layer_mask_preview_private (Layer *layer,
|
||||
static TempBuf * gimp_layer_mask_preview_private (GimpLayer *layer,
|
||||
gint width,
|
||||
gint height);
|
||||
|
||||
|
@ -152,7 +152,7 @@ gimp_layer_invalidate_preview (GimpDrawable *drawable)
|
|||
|
||||
layer = GIMP_LAYER (drawable);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_invalidate (layer);
|
||||
}
|
||||
|
||||
|
@ -1211,19 +1211,6 @@ gimp_layer_pick_correlate (GimpLayer *layer,
|
|||
/* access functions */
|
||||
/**********************/
|
||||
|
||||
void
|
||||
gimp_layer_set_name (GimpLayer *layer,
|
||||
const gchar *name)
|
||||
{
|
||||
gimp_object_set_name (GIMP_OBJECT (layer), name);
|
||||
}
|
||||
|
||||
const gchar *
|
||||
gimp_layer_get_name (const GimpLayer *layer)
|
||||
{
|
||||
return gimp_object_get_name (GIMP_OBJECT (layer));
|
||||
}
|
||||
|
||||
GimpLayerMask *
|
||||
gimp_layer_get_mask (GimpLayer *layer)
|
||||
{
|
||||
|
@ -1254,19 +1241,6 @@ gimp_layer_linked (GimpLayer *layer)
|
|||
return layer->linked;
|
||||
}
|
||||
|
||||
Tattoo
|
||||
gimp_layer_get_tattoo (const GimpLayer *layer)
|
||||
{
|
||||
return gimp_drawable_get_tattoo (GIMP_DRAWABLE (layer));
|
||||
}
|
||||
|
||||
void
|
||||
gimp_layer_set_tattoo (GimpLayer *layer,
|
||||
Tattoo value)
|
||||
{
|
||||
gimp_drawable_set_tattoo (GIMP_DRAWABLE (layer), value);
|
||||
}
|
||||
|
||||
TempBuf *
|
||||
gimp_layer_preview (GimpLayer *layer,
|
||||
gint width,
|
||||
|
|
51
app/layer.h
51
app/layer.h
|
@ -23,38 +23,11 @@
|
|||
#include "gimpdrawable.h"
|
||||
|
||||
|
||||
/* EEK */
|
||||
|
||||
#define layer_new gimp_layer_new
|
||||
#define layer_copy gimp_layer_copy
|
||||
#define layer_create_mask gimp_layer_create_mask
|
||||
#define layer_scale gimp_layer_scale
|
||||
#define layer_resize gimp_layer_resize
|
||||
#define layer_delete gimp_layer_delete
|
||||
#define layer_translate gimp_layer_translate
|
||||
#define layer_get_name gimp_layer_get_name
|
||||
#define layer_set_name gimp_layer_set_name
|
||||
#define layer_get_tattoo gimp_layer_get_tattoo
|
||||
#define layer_set_tattoo gimp_layer_set_tattoo
|
||||
#define layer_add_alpha gimp_layer_add_alpha
|
||||
#define layer_has_alpha gimp_layer_has_alpha
|
||||
#define layer_preview gimp_layer_preview
|
||||
#define layer_is_floating_sel gimp_layer_is_floating_sel
|
||||
#define layer_invalidate_previews gimp_layer_invalidate_previews
|
||||
#define layer_linked gimp_layer_linked
|
||||
#define layer_get_mask gimp_layer_get_mask
|
||||
#define layer_new_from_tiles gimp_layer_new_from_tiles
|
||||
#define layer_resize_to_image gimp_layer_resize_to_image
|
||||
#define layer_invalidate_boundary gimp_layer_invalidate_boundary
|
||||
#define layer_scale_by_factors gimp_layer_scale_by_factors
|
||||
#define layer_boundary gimp_layer_boundary
|
||||
#define layer_pick_correlate gimp_layer_pick_correlate
|
||||
#define layer_apply_mask gimp_layer_apply_mask
|
||||
#define layer_add_mask gimp_layer_add_mask
|
||||
#define layer_check_scaling gimp_layer_check_scaling
|
||||
|
||||
|
||||
#define gimp_drawable_layer GIMP_IS_LAYER
|
||||
/* PDB stuff */
|
||||
#define gimp_layer_set_name(l,n) gimp_object_set_name(GIMP_OBJECT(l),(n))
|
||||
#define gimp_layer_get_name(l) gimp_object_get_name(GIMP_OBJECT(l))
|
||||
#define gimp_layer_set_tattoo(l,t) gimp_drawable_set_tattoo(GIMP_DRAWABLE(l),(t))
|
||||
#define gimp_layer_get_tattoo(l) gimp_drawable_get_tattoo(GIMP_DRAWABLE(l))
|
||||
|
||||
|
||||
#define GIMP_TYPE_LAYER (gimp_layer_get_type ())
|
||||
|
@ -64,7 +37,7 @@
|
|||
#define GIMP_IS_LAYER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_LAYER))
|
||||
|
||||
|
||||
typedef struct _GimpLayerClass GimpLayerClass;
|
||||
typedef struct _GimpLayerClass GimpLayerClass;
|
||||
|
||||
struct _GimpLayer
|
||||
{
|
||||
|
@ -104,9 +77,9 @@ struct _GimpLayerClass
|
|||
|
||||
struct _LayerUndo
|
||||
{
|
||||
GimpLayer *layer; /* the actual layer */
|
||||
gint prev_position; /* former position in list */
|
||||
GimpLayer *prev_layer; /* previous active layer */
|
||||
GimpLayer *layer; /* the actual layer */
|
||||
gint prev_position; /* former position in list */
|
||||
GimpLayer *prev_layer; /* previous active layer */
|
||||
};
|
||||
|
||||
struct _FStoLayerUndo
|
||||
|
@ -170,16 +143,10 @@ gint gimp_layer_pick_correlate (GimpLayer *layer,
|
|||
gint x,
|
||||
gint y);
|
||||
|
||||
void gimp_layer_set_name (GimpLayer *layer,
|
||||
const gchar *name);
|
||||
const gchar * gimp_layer_get_name (const GimpLayer *layer);
|
||||
GimpLayerMask * gimp_layer_get_mask (GimpLayer *layer);
|
||||
gboolean gimp_layer_has_alpha (GimpLayer *layer);
|
||||
gboolean gimp_layer_is_floating_sel (GimpLayer *layer);
|
||||
gboolean gimp_layer_linked (GimpLayer *layer);
|
||||
Tattoo gimp_layer_get_tattoo (const GimpLayer *layer);
|
||||
void gimp_layer_set_tattoo (GimpLayer *layer,
|
||||
Tattoo value);
|
||||
|
||||
TempBuf * gimp_layer_preview (GimpLayer *layer,
|
||||
gint width,
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#define PREVIEW_EVENT_MASK GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK
|
||||
|
||||
|
||||
typedef struct _LayerSelect LayerSelect;
|
||||
|
||||
struct _LayerSelect
|
||||
|
@ -49,7 +50,7 @@ struct _LayerSelect
|
|||
GtkWidget *preview;
|
||||
|
||||
GImage *gimage;
|
||||
Layer *current_layer;
|
||||
GimpLayer *current_layer;
|
||||
gboolean dirty;
|
||||
gint image_width;
|
||||
gint image_height;
|
||||
|
@ -203,10 +204,11 @@ static void
|
|||
layer_select_advance (LayerSelect *layer_select,
|
||||
gint move)
|
||||
{
|
||||
gint index; gint count;
|
||||
GSList *list;
|
||||
GSList *nth;
|
||||
Layer *layer;
|
||||
gint index;
|
||||
gint count;
|
||||
GSList *list;
|
||||
GSList *nth;
|
||||
GimpLayer *layer;
|
||||
|
||||
index = 0;
|
||||
|
||||
|
@ -221,7 +223,7 @@ layer_select_advance (LayerSelect *layer_select,
|
|||
list;
|
||||
list = g_slist_next (list), count++)
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
if (layer == layer_select->current_layer)
|
||||
index = count;
|
||||
|
@ -234,7 +236,7 @@ layer_select_advance (LayerSelect *layer_select,
|
|||
|
||||
if (nth)
|
||||
{
|
||||
layer = (Layer *) nth->data;
|
||||
layer = (GimpLayer *) nth->data;
|
||||
layer_select->current_layer = layer;
|
||||
}
|
||||
}
|
||||
|
@ -317,9 +319,9 @@ layer_select_set_gimage (LayerSelect *layer_select,
|
|||
static void
|
||||
layer_select_set_layer (LayerSelect *layer_select)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
return;
|
||||
|
||||
/* Set the layer label */
|
||||
|
@ -420,10 +422,10 @@ preview_events (GtkWidget *widget,
|
|||
static void
|
||||
preview_redraw (LayerSelect *layer_select)
|
||||
{
|
||||
Layer *layer;
|
||||
TempBuf *preview_buf;
|
||||
gint w, h;
|
||||
gint offx, offy;
|
||||
GimpLayer *layer;
|
||||
TempBuf *preview_buf;
|
||||
gint w, h;
|
||||
gint offx, offy;
|
||||
|
||||
if (! (layer = (layer_select->current_layer)))
|
||||
return;
|
||||
|
@ -435,25 +437,27 @@ preview_redraw (LayerSelect *layer_select)
|
|||
layer_select->image_height,
|
||||
-1);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
render_fs_preview (layer_select->layer_preview,
|
||||
layer_select->layer_pixmap);
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
render_fs_preview (layer_select->layer_preview,
|
||||
layer_select->layer_pixmap);
|
||||
}
|
||||
else
|
||||
{
|
||||
gint off_x;
|
||||
gint off_y;
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE(layer), &off_x, &off_y);
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
/* determine width and height */
|
||||
w = (gint) (layer_select->ratio *
|
||||
gimp_drawable_width (GIMP_DRAWABLE(layer)));
|
||||
gimp_drawable_width (GIMP_DRAWABLE (layer)));
|
||||
h = (gint) (layer_select->ratio *
|
||||
gimp_drawable_height (GIMP_DRAWABLE(layer)));
|
||||
gimp_drawable_height (GIMP_DRAWABLE (layer)));
|
||||
offx = (gint) (layer_select->ratio * off_x);
|
||||
offy = (gint) (layer_select->ratio * off_y);
|
||||
|
||||
preview_buf = layer_preview (layer, w, h);
|
||||
preview_buf = gimp_layer_preview (layer, w, h);
|
||||
preview_buf->x = offx;
|
||||
preview_buf->y = offy;
|
||||
|
||||
|
|
|
@ -136,14 +136,14 @@ struct _LayerWidget
|
|||
static void layers_dialog_preview_extents (void);
|
||||
static void layers_dialog_set_menu_sensitivity (void);
|
||||
static void layers_dialog_scroll_index (gint index);
|
||||
static void layers_dialog_set_active_layer (Layer *layer);
|
||||
static void layers_dialog_unset_layer (Layer *layer);
|
||||
static void layers_dialog_position_layer (Layer *layer,
|
||||
static void layers_dialog_set_active_layer (GimpLayer *layer);
|
||||
static void layers_dialog_unset_layer (GimpLayer *layer);
|
||||
static void layers_dialog_position_layer (GimpLayer *layer,
|
||||
gint new_index);
|
||||
static void layers_dialog_add_layer (Layer *layer);
|
||||
static void layers_dialog_remove_layer (Layer *layer);
|
||||
static void layers_dialog_add_layer_mask (Layer *layer);
|
||||
static void layers_dialog_remove_layer_mask (Layer *layer);
|
||||
static void layers_dialog_add_layer (GimpLayer *layer);
|
||||
static void layers_dialog_remove_layer (GimpLayer *layer);
|
||||
static void layers_dialog_add_layer_mask (GimpLayer *layer);
|
||||
static void layers_dialog_remove_layer_mask (GimpLayer *layer);
|
||||
|
||||
static void paint_mode_menu_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
|
@ -182,9 +182,9 @@ static gboolean layers_dialog_drag_trashcan_callback
|
|||
guint time);
|
||||
|
||||
/* layer widget function prototypes */
|
||||
static LayerWidget * layer_widget_get_ID (Layer *layer);
|
||||
static LayerWidget * layer_widget_get_ID (GimpLayer *layer);
|
||||
static LayerWidget * layer_widget_create (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
|
||||
static gboolean layer_widget_drag_motion_callback
|
||||
(GtkWidget *widget,
|
||||
|
@ -234,11 +234,11 @@ static void layer_widget_layer_flush (GtkWidget *widget,
|
|||
/* assorted query dialogs */
|
||||
static void layers_dialog_new_layer_query (GimpImage *gimage);
|
||||
static void layers_dialog_edit_layer_query (LayerWidget *layer_widget);
|
||||
static void layers_dialog_add_mask_query (Layer *layer);
|
||||
static void layers_dialog_add_mask_query (GimpLayer *layer);
|
||||
static void layers_dialog_scale_layer_query (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
static void layers_dialog_resize_layer_query (GimpImage *gimage,
|
||||
Layer *layer);
|
||||
GimpLayer *layer);
|
||||
void layers_dialog_layer_merge_query (GimpImage *gimage,
|
||||
gboolean merge_visible);
|
||||
|
||||
|
@ -550,24 +550,24 @@ layers_dialog_free (void)
|
|||
void
|
||||
layers_dialog_invalidate_previews (GimpImage *gimage)
|
||||
{
|
||||
GSList *list = gimage->layers;
|
||||
Layer *layer;
|
||||
GSList *list;
|
||||
GimpLayer *layer;
|
||||
|
||||
/* Invalidate all previews ...
|
||||
* This is called during loading the image
|
||||
*/
|
||||
while (list)
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
|
||||
GIMP_DRAWABLE (layer)->preview_valid = FALSE;
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
layers_dialog_update (GimpImage* gimage)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
LayerWidget *lw;
|
||||
GSList *list;
|
||||
GList *item_list;
|
||||
|
@ -607,7 +607,7 @@ layers_dialog_update (GimpImage* gimage)
|
|||
list = g_slist_next (list))
|
||||
{
|
||||
/* create a layer list item */
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
lw = layer_widget_create (gimage, layer);
|
||||
layersD->layer_widgets = g_slist_append (layersD->layer_widgets, lw);
|
||||
item_list = g_list_append (item_list, lw->list_item);
|
||||
|
@ -624,7 +624,7 @@ void
|
|||
layers_dialog_flush (void)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
LayerWidget *lw;
|
||||
GSList *list;
|
||||
gint pos;
|
||||
|
@ -654,7 +654,7 @@ layers_dialog_flush (void)
|
|||
/* Add any missing layers */
|
||||
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
lw = layer_widget_get_ID (layer);
|
||||
|
||||
/* If the layer isn't in the layer widget list, add it */
|
||||
|
@ -682,7 +682,7 @@ layers_dialog_flush (void)
|
|||
list;
|
||||
list = g_slist_next (list))
|
||||
{
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
layers_dialog_position_layer (layer, pos++);
|
||||
}
|
||||
|
||||
|
@ -1019,34 +1019,34 @@ layers_dialog_preview_extents (void)
|
|||
static void
|
||||
layers_dialog_set_menu_sensitivity (void)
|
||||
{
|
||||
gboolean fs; /* no floating sel */
|
||||
gboolean ac; /* no active channel */
|
||||
gboolean lm; /* layer mask */
|
||||
gboolean gimage; /* is there a gimage */
|
||||
gboolean lp; /* layers present */
|
||||
gboolean alpha; /* alpha channel present */
|
||||
gboolean indexed; /* is indexed */
|
||||
gboolean next_alpha;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
GSList *prev;
|
||||
Layer *layer;
|
||||
gboolean fs; /* no floating sel */
|
||||
gboolean ac; /* no active channel */
|
||||
gboolean lm; /* layer mask */
|
||||
gboolean gimage; /* is there a gimage */
|
||||
gboolean lp; /* layers present */
|
||||
gboolean alpha; /* alpha channel present */
|
||||
gboolean indexed; /* is indexed */
|
||||
gboolean next_alpha;
|
||||
GSList *list;
|
||||
GSList *next;
|
||||
GSList *prev;
|
||||
GimpLayer *layer;
|
||||
|
||||
lp = FALSE;
|
||||
lp = FALSE;
|
||||
indexed = FALSE;
|
||||
|
||||
if (! layersD)
|
||||
return;
|
||||
|
||||
if ((layer = (layersD->active_layer)) != NULL)
|
||||
lm = (layer_get_mask (layer)) ? TRUE : FALSE;
|
||||
lm = (gimp_layer_get_mask (layer)) ? TRUE : FALSE;
|
||||
else
|
||||
lm = FALSE;
|
||||
|
||||
fs = (layersD->floating_sel == NULL);
|
||||
ac = (layersD->active_channel == NULL);
|
||||
gimage = (layersD->gimage != NULL);
|
||||
alpha = layer && layer_has_alpha (layer);
|
||||
alpha = layer && gimp_layer_has_alpha (layer);
|
||||
|
||||
if (gimage)
|
||||
{
|
||||
|
@ -1059,7 +1059,7 @@ layers_dialog_set_menu_sensitivity (void)
|
|||
next = NULL;
|
||||
while (list)
|
||||
{
|
||||
layer = (Layer *)list->data;
|
||||
layer = (GimpLayer *)list->data;
|
||||
if (layer == (layersD->active_layer))
|
||||
{
|
||||
next = g_slist_next (list);
|
||||
|
@ -1071,8 +1071,8 @@ layers_dialog_set_menu_sensitivity (void)
|
|||
|
||||
if (next)
|
||||
{
|
||||
layer = (Layer *) next->data;
|
||||
next_alpha = layer_has_alpha (layer);
|
||||
layer = (GimpLayer *) next->data;
|
||||
next_alpha = gimp_layer_has_alpha (layer);
|
||||
}
|
||||
else
|
||||
next_alpha = FALSE;
|
||||
|
@ -1178,7 +1178,7 @@ layer_dialog_idle_set_active_layer_focus (gpointer data)
|
|||
*/
|
||||
|
||||
static void
|
||||
layers_dialog_set_active_layer (Layer *layer)
|
||||
layers_dialog_set_active_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GtkStateType state;
|
||||
|
@ -1212,7 +1212,7 @@ layers_dialog_set_active_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_unset_layer (Layer *layer)
|
||||
layers_dialog_unset_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GtkStateType state;
|
||||
|
@ -1239,8 +1239,8 @@ layers_dialog_unset_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_position_layer (Layer *layer,
|
||||
gint new_index)
|
||||
layers_dialog_position_layer (GimpLayer *layer,
|
||||
gint new_index)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GList *list = NULL;
|
||||
|
@ -1284,7 +1284,7 @@ invalidate_preview_callback (GtkWidget *widget,
|
|||
|
||||
|
||||
static void
|
||||
layers_dialog_add_layer (Layer *layer)
|
||||
layers_dialog_add_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GimpImage *gimage;
|
||||
|
@ -1306,7 +1306,7 @@ layers_dialog_add_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_remove_layer (Layer *layer)
|
||||
layers_dialog_remove_layer (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GList *list = NULL;
|
||||
|
@ -1329,7 +1329,7 @@ layers_dialog_remove_layer (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_add_layer_mask (Layer *layer)
|
||||
layers_dialog_add_layer_mask (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
|
||||
|
@ -1350,7 +1350,7 @@ layers_dialog_add_layer_mask (Layer *layer)
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_remove_layer_mask (Layer *layer)
|
||||
layers_dialog_remove_layer_mask (GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
|
||||
|
@ -1380,14 +1380,14 @@ paint_mode_menu_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
LayerModeEffects mode;
|
||||
|
||||
if (!(gimage = layersD->gimage) || !(layer = gimage->active_layer))
|
||||
return;
|
||||
|
||||
/* If the layer has an alpha channel, set the transparency and redraw */
|
||||
if (layer_has_alpha (layer))
|
||||
if (gimp_layer_has_alpha (layer))
|
||||
{
|
||||
mode = (LayerModeEffects) gtk_object_get_user_data (GTK_OBJECT (widget));
|
||||
|
||||
|
@ -1408,7 +1408,7 @@ opacity_scale_update (GtkAdjustment *adjustment,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint opacity;
|
||||
|
||||
if (!(gimage = layersD->gimage) || !(layer = gimage->active_layer))
|
||||
|
@ -1433,7 +1433,7 @@ preserve_trans_update (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!(gimage = layersD->gimage) || !(layer = gimage->active_layer))
|
||||
return;
|
||||
|
@ -1525,7 +1525,7 @@ layers_dialog_previous_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *new_layer;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
|
@ -1548,7 +1548,7 @@ layers_dialog_next_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *new_layer;
|
||||
GimpLayer *new_layer;
|
||||
gint current_layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
|
@ -1623,7 +1623,7 @@ layers_dialog_new_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
@ -1646,8 +1646,8 @@ layers_dialog_duplicate_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *active_layer;
|
||||
Layer *new_layer;
|
||||
GimpLayer *active_layer;
|
||||
GimpLayer *new_layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
@ -1656,7 +1656,7 @@ layers_dialog_duplicate_layer_callback (GtkWidget *widget,
|
|||
undo_push_group_start (gimage, LAYER_ADD_UNDO);
|
||||
|
||||
active_layer = gimp_image_get_active_layer (gimage);
|
||||
new_layer = layer_copy (active_layer, TRUE);
|
||||
new_layer = gimp_layer_copy (active_layer, TRUE);
|
||||
gimp_image_add_layer (gimage, new_layer, -1);
|
||||
|
||||
/* End the group undo */
|
||||
|
@ -1670,7 +1670,7 @@ layers_dialog_delete_layer_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD ||
|
||||
!(gimage = layersD->gimage) ||
|
||||
|
@ -1678,7 +1678,7 @@ layers_dialog_delete_layer_callback (GtkWidget *widget,
|
|||
return;
|
||||
|
||||
/* if the layer is a floating selection, take special care */
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_remove (layer);
|
||||
else
|
||||
gimp_image_remove_layer (gimage, gimage->active_layer);
|
||||
|
@ -1719,7 +1719,7 @@ layers_dialog_resize_to_image_callback (GtkWidget *widget,
|
|||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
||||
layer_resize_to_image (gimage->active_layer);
|
||||
gimp_layer_resize_to_image (gimage->active_layer);
|
||||
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
@ -1741,14 +1741,14 @@ layers_dialog_apply_layer_mask_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
||||
/* Make sure there is a layer mask to apply */
|
||||
if ((layer = gimage->active_layer) != NULL &&
|
||||
layer_get_mask (layer))
|
||||
gimp_layer_get_mask (layer))
|
||||
{
|
||||
gboolean flush = !layer->apply_mask || layer->show_mask;
|
||||
|
||||
|
@ -1774,14 +1774,14 @@ layers_dialog_delete_layer_mask_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD || !(gimage = layersD->gimage))
|
||||
return;
|
||||
|
||||
/* Make sure there is a layer mask to apply */
|
||||
if ((layer = gimage->active_layer) != NULL &&
|
||||
layer_get_mask (layer))
|
||||
gimp_layer_get_mask (layer))
|
||||
{
|
||||
gboolean flush = layer->apply_mask || layer->show_mask;
|
||||
|
||||
|
@ -1884,14 +1884,14 @@ layers_dialog_add_alpha_channel_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
if (!layersD ||
|
||||
!(gimage = layersD->gimage) ||
|
||||
!(layer = gimp_image_get_active_layer (gimage)))
|
||||
return;
|
||||
|
||||
layer_add_alpha (layer);
|
||||
gimp_layer_add_alpha (layer);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
||||
|
@ -1925,15 +1925,15 @@ layers_dialog_drag_new_layer_callback (GtkWidget *widget,
|
|||
|
||||
if ((src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
Layer *layer = NULL;
|
||||
GimpLayer *layer;
|
||||
|
||||
layer = (Layer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
layer = (GimpLayer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
|
||||
if (layer &&
|
||||
layer == layersD->active_layer)
|
||||
{
|
||||
Layer *new_layer;
|
||||
GimpLayer *new_layer;
|
||||
GimpImage *gimage;
|
||||
gint width, height;
|
||||
gint off_x, off_y;
|
||||
|
@ -1947,15 +1947,15 @@ layers_dialog_drag_new_layer_callback (GtkWidget *widget,
|
|||
/* Start a group undo */
|
||||
undo_push_group_start (gimage, EDIT_PASTE_UNDO);
|
||||
|
||||
new_layer = layer_new (gimage, width, height,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
_("Empty Layer Copy"),
|
||||
layer->opacity,
|
||||
layer->mode);
|
||||
new_layer = gimp_layer_new (gimage, width, height,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
_("Empty Layer Copy"),
|
||||
layer->opacity,
|
||||
layer->mode);
|
||||
if (new_layer)
|
||||
{
|
||||
drawable_fill (GIMP_DRAWABLE (new_layer), TRANSPARENT_FILL);
|
||||
layer_translate (new_layer, off_x, off_y);
|
||||
gimp_layer_translate (new_layer, off_x, off_y);
|
||||
gimp_image_add_layer (gimage, new_layer, -1);
|
||||
|
||||
/* End the group undo */
|
||||
|
@ -1990,14 +1990,14 @@ layers_dialog_drag_duplicate_layer_callback (GtkWidget *widget,
|
|||
|
||||
if ((src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
layer = (Layer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
layer = (GimpLayer *) gtk_object_get_data (GTK_OBJECT (src_widget),
|
||||
"gimp_layer");
|
||||
|
||||
if (layer &&
|
||||
layer == layersD->active_layer &&
|
||||
! layer_is_floating_sel (layer))
|
||||
! gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
layers_dialog_duplicate_layer_callback (widget, NULL);
|
||||
|
||||
|
@ -2059,7 +2059,7 @@ layers_dialog_drag_trashcan_callback (GtkWidget *widget,
|
|||
/****************************/
|
||||
|
||||
static LayerWidget *
|
||||
layer_widget_get_ID (Layer *ID)
|
||||
layer_widget_get_ID (GimpLayer *ID)
|
||||
{
|
||||
LayerWidget *lw;
|
||||
GSList *list;
|
||||
|
@ -2080,7 +2080,7 @@ layer_widget_get_ID (Layer *ID)
|
|||
|
||||
static LayerWidget *
|
||||
layer_widget_create (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
GtkWidget *list_item;
|
||||
|
@ -2109,7 +2109,7 @@ layer_widget_create (GimpImage *gimage,
|
|||
layer_widget->drop_type = GIMP_DROP_NONE;
|
||||
layer_widget->layer_pixmap_valid = FALSE;
|
||||
|
||||
if (layer_get_mask (layer))
|
||||
if (gimp_layer_get_mask (layer))
|
||||
layer_widget->active_preview =
|
||||
(layer->edit_mask) ? MASK_PREVIEW : LAYER_PREVIEW;
|
||||
else
|
||||
|
@ -2197,7 +2197,7 @@ layer_widget_create (GimpImage *gimage,
|
|||
gtk_object_set_user_data (GTK_OBJECT (layer_widget->mask_preview),
|
||||
layer_widget);
|
||||
gtk_container_add (GTK_CONTAINER (alignment), layer_widget->mask_preview);
|
||||
if (layer_get_mask (layer) != NULL)
|
||||
if (gimp_layer_get_mask (layer) != NULL)
|
||||
{
|
||||
gtk_object_set_data (GTK_OBJECT (layer_widget->mask_preview),
|
||||
"gimp_layer_mask", gimp_layer_get_mask (layer));
|
||||
|
@ -2215,10 +2215,11 @@ layer_widget_create (GimpImage *gimage,
|
|||
NULL);
|
||||
|
||||
/* the layer name label */
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
layer_widget->label = gtk_label_new (_("Floating Selection"));
|
||||
else
|
||||
layer_widget->label = gtk_label_new (layer_get_name (layer));
|
||||
layer_widget->label =
|
||||
gtk_label_new (gimp_object_get_name (GIMP_OBJECT (layer)));
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (hbox), layer_widget->label, FALSE, FALSE, 2);
|
||||
gtk_widget_show (layer_widget->label);
|
||||
|
@ -2274,7 +2275,7 @@ layer_widget_create (GimpImage *gimage,
|
|||
|
||||
gtk_signal_connect_while_alive (GTK_OBJECT (layer), "invalidate_preview",
|
||||
GTK_SIGNAL_FUNC (invalidate_preview_callback),
|
||||
(gpointer)layer_widget,
|
||||
layer_widget,
|
||||
GTK_OBJECT (layer_widget->list_item));
|
||||
|
||||
return layer_widget;
|
||||
|
@ -2300,15 +2301,15 @@ layer_widget_drag_motion_callback (GtkWidget *widget,
|
|||
dest = (LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (widget));
|
||||
|
||||
if (dest &&
|
||||
layer_has_alpha (dest->layer) &&
|
||||
gimp_layer_has_alpha (dest->layer) &&
|
||||
(src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
src
|
||||
= (LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
|
||||
|
||||
if (src &&
|
||||
layer_has_alpha (src->layer) &&
|
||||
! layer_is_floating_sel (src->layer) &&
|
||||
gimp_layer_has_alpha (src->layer) &&
|
||||
! gimp_layer_is_floating_sel (src->layer) &&
|
||||
src->layer == layersD->active_layer)
|
||||
{
|
||||
src_index = gimp_image_get_layer_index (layersD->gimage,
|
||||
|
@ -2380,13 +2381,13 @@ layer_mask_drag_begin_callback (GtkWidget *widget,
|
|||
|
||||
gimp_dnd_set_drawable_preview_icon
|
||||
(widget, context,
|
||||
GIMP_DRAWABLE (layer_get_mask (layer_widget->layer)));
|
||||
GIMP_DRAWABLE (gimp_layer_get_mask (layer_widget->layer)));
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint dest_index;
|
||||
} LayerDrop;
|
||||
|
||||
|
@ -2424,15 +2425,15 @@ layer_widget_drag_drop_callback (GtkWidget *widget,
|
|||
dest = (LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (widget));
|
||||
|
||||
if (dest &&
|
||||
layer_has_alpha (dest->layer) &&
|
||||
gimp_layer_has_alpha (dest->layer) &&
|
||||
(src_widget = gtk_drag_get_source_widget (context)))
|
||||
{
|
||||
src =
|
||||
(LayerWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
|
||||
|
||||
if (src &&
|
||||
layer_has_alpha (src->layer) &&
|
||||
! layer_is_floating_sel (src->layer) &&
|
||||
gimp_layer_has_alpha (src->layer) &&
|
||||
! gimp_layer_is_floating_sel (src->layer) &&
|
||||
src->layer == layersD->active_layer)
|
||||
{
|
||||
src_index =
|
||||
|
@ -2511,8 +2512,8 @@ layer_widget_drag_indicator_callback (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
layer_widget_draw_drop_indicator (LayerWidget *layer_widget,
|
||||
GimpDropType drop_type)
|
||||
layer_widget_draw_drop_indicator (LayerWidget *layer_widget,
|
||||
GimpDropType drop_type)
|
||||
{
|
||||
static GdkGC *gc = NULL;
|
||||
gint y = 0;
|
||||
|
@ -2765,11 +2766,11 @@ layer_widget_preview_events (GtkWidget *widget,
|
|||
case MASK_PREVIEW:
|
||||
pixmap = &layer_widget->mask_pixmap;
|
||||
valid =
|
||||
GIMP_DRAWABLE (layer_get_mask (layer_widget->layer))->preview_valid;
|
||||
GIMP_DRAWABLE (gimp_layer_get_mask (layer_widget->layer))->preview_valid;
|
||||
break;
|
||||
}
|
||||
|
||||
if (layer_is_floating_sel (layer_widget->layer))
|
||||
if (gimp_layer_is_floating_sel (layer_widget->layer))
|
||||
preview_type = FS_PREVIEW;
|
||||
|
||||
switch (event->type)
|
||||
|
@ -3345,7 +3346,7 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
LayerWidget *layer_widget;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
const gchar *name;
|
||||
gchar *label_name;
|
||||
gboolean update_layer_preview = FALSE;
|
||||
|
@ -3357,14 +3358,14 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
/* Set sensitivity */
|
||||
|
||||
/* to false if there is a floating selection, and this aint it */
|
||||
if (! layer_is_floating_sel (layer_widget->layer) &&
|
||||
if (! gimp_layer_is_floating_sel (layer_widget->layer) &&
|
||||
layersD->floating_sel != NULL)
|
||||
{
|
||||
if (GTK_WIDGET_IS_SENSITIVE (layer_widget->list_item))
|
||||
gtk_widget_set_sensitive (layer_widget->list_item, FALSE);
|
||||
}
|
||||
/* to true if there is a floating selection, and this is it */
|
||||
if (layer_is_floating_sel (layer_widget->layer) &&
|
||||
if (gimp_layer_is_floating_sel (layer_widget->layer) &&
|
||||
layersD->floating_sel != NULL)
|
||||
{
|
||||
if (! GTK_WIDGET_IS_SENSITIVE (layer_widget->list_item))
|
||||
|
@ -3398,10 +3399,10 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
GTK_STATE_ACTIVE : GTK_STATE_NORMAL);
|
||||
}
|
||||
|
||||
if (layer_is_floating_sel (layer_widget->layer))
|
||||
if (gimp_layer_is_floating_sel (layer_widget->layer))
|
||||
name = _("Floating Selection");
|
||||
else
|
||||
name = layer_get_name (layer_widget->layer);
|
||||
name = gimp_object_get_name (GIMP_OBJECT (layer_widget->layer));
|
||||
|
||||
/* we need to set the name label if necessary */
|
||||
gtk_label_get (GTK_LABEL (layer_widget->label), &label_name);
|
||||
|
@ -3409,13 +3410,13 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
gtk_label_set_text (GTK_LABEL (layer_widget->label), name);
|
||||
|
||||
/* show the layer mask preview if necessary */
|
||||
if (layer_get_mask (layer_widget->layer) == NULL &&
|
||||
if (gimp_layer_get_mask (layer_widget->layer) == NULL &&
|
||||
layer_widget->layer_mask)
|
||||
{
|
||||
layer_widget->layer_mask = FALSE;
|
||||
layers_dialog_remove_layer_mask (layer_widget->layer);
|
||||
}
|
||||
else if (layer_get_mask (layer_widget->layer) != NULL &&
|
||||
else if (gimp_layer_get_mask (layer_widget->layer) != NULL &&
|
||||
!layer_widget->layer_mask)
|
||||
{
|
||||
layer_widget->layer_mask = TRUE;
|
||||
|
@ -3425,10 +3426,10 @@ layer_widget_layer_flush (GtkWidget *widget,
|
|||
/* Update the previews */
|
||||
update_layer_preview = (! GIMP_DRAWABLE (layer)->preview_valid);
|
||||
|
||||
if (layer_get_mask (layer))
|
||||
if (gimp_layer_get_mask (layer))
|
||||
{
|
||||
update_mask_preview =
|
||||
(! GIMP_DRAWABLE (layer_get_mask (layer))->preview_valid);
|
||||
(! GIMP_DRAWABLE (gimp_layer_get_mask (layer))->preview_valid);
|
||||
|
||||
if (layer->apply_mask != layer_widget->apply_mask)
|
||||
{
|
||||
|
@ -3488,7 +3489,7 @@ new_layer_query_ok_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
NewLayerOptions *options;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GimpImage *gimage;
|
||||
|
||||
options = (NewLayerOptions *) data;
|
||||
|
@ -3509,9 +3510,9 @@ new_layer_query_ok_callback (GtkWidget *widget,
|
|||
/* Start a group undo */
|
||||
undo_push_group_start (gimage, LAYER_ADD_UNDO);
|
||||
|
||||
layer = layer_new (gimage, options->xsize, options->ysize,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
layer_name, OPAQUE_OPACITY, NORMAL_MODE);
|
||||
layer = gimp_layer_new (gimage, options->xsize, options->ysize,
|
||||
gimp_image_base_type_with_alpha (gimage),
|
||||
layer_name, OPAQUE_OPACITY, NORMAL_MODE);
|
||||
if (layer)
|
||||
{
|
||||
drawable_fill (GIMP_DRAWABLE (layer), fill_type);
|
||||
|
@ -3692,14 +3693,14 @@ edit_layer_query_ok_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
EditLayerOptions *options;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
options = (EditLayerOptions *) data;
|
||||
|
||||
if ((layer = options->layer))
|
||||
{
|
||||
/* Set the new layer name */
|
||||
if (GIMP_OBJECT (layer)->name && layer_is_floating_sel (layer))
|
||||
if (GIMP_OBJECT (layer)->name && gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
/* If the layer is a floating selection, make it a layer */
|
||||
floating_sel_to_layer (layer);
|
||||
|
@ -3710,8 +3711,8 @@ edit_layer_query_ok_callback (GtkWidget *widget,
|
|||
undo_push_layer_rename (options->gimage, layer);
|
||||
}
|
||||
|
||||
layer_set_name (layer,
|
||||
gtk_entry_get_text (GTK_ENTRY (options->name_entry)));
|
||||
gimp_object_set_name (GIMP_OBJECT (layer),
|
||||
gtk_entry_get_text (GTK_ENTRY (options->name_entry)));
|
||||
}
|
||||
|
||||
gdisplays_flush ();
|
||||
|
@ -3768,9 +3769,9 @@ layers_dialog_edit_layer_query (LayerWidget *layer_widget)
|
|||
options->name_entry = gtk_entry_new ();
|
||||
gtk_box_pack_start (GTK_BOX (hbox), options->name_entry, TRUE, TRUE, 0);
|
||||
gtk_entry_set_text (GTK_ENTRY (options->name_entry),
|
||||
((layer_is_floating_sel (layer_widget->layer) ?
|
||||
((gimp_layer_is_floating_sel (layer_widget->layer) ?
|
||||
_("Floating Selection") :
|
||||
layer_get_name (layer_widget->layer))));
|
||||
gimp_object_get_name (GIMP_OBJECT (layer_widget->layer)))));
|
||||
gtk_signal_connect (GTK_OBJECT (options->name_entry), "activate",
|
||||
edit_layer_query_ok_callback,
|
||||
options);
|
||||
|
@ -3791,7 +3792,7 @@ typedef struct _AddMaskOptions AddMaskOptions;
|
|||
struct _AddMaskOptions
|
||||
{
|
||||
GtkWidget *query_box;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
AddMaskType add_mask_type;
|
||||
};
|
||||
|
||||
|
@ -3808,7 +3809,7 @@ add_mask_query_ok_callback (GtkWidget *widget,
|
|||
if ((layer = (options->layer)) &&
|
||||
(gimage = GIMP_DRAWABLE (layer)->gimage))
|
||||
{
|
||||
mask = layer_create_mask (layer, options->add_mask_type);
|
||||
mask = gimp_layer_create_mask (layer, options->add_mask_type);
|
||||
gimp_image_add_layer_mask (gimage, layer, mask);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
|
@ -3817,7 +3818,7 @@ add_mask_query_ok_callback (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
layers_dialog_add_mask_query (Layer *layer)
|
||||
layers_dialog_add_mask_query (GimpLayer *layer)
|
||||
{
|
||||
AddMaskOptions *options;
|
||||
GtkWidget *frame;
|
||||
|
@ -3877,8 +3878,8 @@ typedef struct _ScaleLayerOptions ScaleLayerOptions;
|
|||
|
||||
struct _ScaleLayerOptions
|
||||
{
|
||||
Layer *layer;
|
||||
Resize *resize;
|
||||
GimpLayer *layer;
|
||||
Resize *resize;
|
||||
};
|
||||
|
||||
static void
|
||||
|
@ -3887,7 +3888,7 @@ scale_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
ScaleLayerOptions *options;
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
options = (ScaleLayerOptions *) data;
|
||||
|
||||
|
@ -3900,13 +3901,14 @@ scale_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
undo_push_group_start (gimage, LAYER_SCALE_UNDO);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
layer_scale (layer,
|
||||
options->resize->width, options->resize->height, TRUE);
|
||||
gimp_layer_scale (layer,
|
||||
options->resize->width, options->resize->height,
|
||||
TRUE);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
undo_push_group_end (gimage);
|
||||
|
@ -3925,7 +3927,7 @@ scale_layer_query_ok_callback (GtkWidget *widget,
|
|||
|
||||
static void
|
||||
layers_dialog_scale_layer_query (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
ScaleLayerOptions *options;
|
||||
|
||||
|
@ -3963,8 +3965,8 @@ typedef struct _ResizeLayerOptions ResizeLayerOptions;
|
|||
|
||||
struct _ResizeLayerOptions
|
||||
{
|
||||
Layer *layer;
|
||||
Resize *resize;
|
||||
GimpLayer *layer;
|
||||
Resize *resize;
|
||||
};
|
||||
|
||||
static void
|
||||
|
@ -3973,7 +3975,7 @@ resize_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
ResizeLayerOptions *options;
|
||||
GimpImage *gimage;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
|
||||
options = (ResizeLayerOptions *) data;
|
||||
|
||||
|
@ -3986,14 +3988,16 @@ resize_layer_query_ok_callback (GtkWidget *widget,
|
|||
{
|
||||
undo_push_group_start (gimage, LAYER_RESIZE_UNDO);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
layer_resize (layer,
|
||||
options->resize->width, options->resize->height,
|
||||
options->resize->offset_x, options->resize->offset_y);
|
||||
gimp_layer_resize (layer,
|
||||
options->resize->width,
|
||||
options->resize->height,
|
||||
options->resize->offset_x,
|
||||
options->resize->offset_y);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
undo_push_group_end (gimage);
|
||||
|
@ -4012,7 +4016,7 @@ resize_layer_query_ok_callback (GtkWidget *widget,
|
|||
|
||||
static void
|
||||
layers_dialog_resize_layer_query (GimpImage *gimage,
|
||||
Layer *layer)
|
||||
GimpLayer *layer)
|
||||
{
|
||||
ResizeLayerOptions *options;
|
||||
|
||||
|
@ -4061,7 +4065,7 @@ layer_merge_query_ok_callback (GtkWidget *widget,
|
|||
gpointer data)
|
||||
{
|
||||
LayerMergeOptions *options;
|
||||
GimpImage *gimage;
|
||||
GimpImage *gimage;
|
||||
|
||||
options = (LayerMergeOptions *) data;
|
||||
if (! (gimage = options->gimage))
|
||||
|
|
|
@ -347,7 +347,7 @@ clone_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -1049,7 +1049,7 @@ ink_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -347,7 +347,7 @@ clone_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -1406,7 +1406,7 @@ drawable_thumbnail_invoker (Argument *args)
|
|||
req_width = (req_height * dwidth) / dheight;
|
||||
|
||||
if (GIMP_IS_LAYER (drawable))
|
||||
buf = layer_preview (GIMP_LAYER (drawable), req_width, req_height);
|
||||
buf = gimp_layer_preview (GIMP_LAYER (drawable), req_width, req_height);
|
||||
else
|
||||
buf = channel_preview (GIMP_CHANNEL (drawable), req_width, req_height);
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ floating_sel_remove_invoker (Argument *args)
|
|||
|
||||
if (success)
|
||||
{
|
||||
if (layer_is_floating_sel (floating_sel))
|
||||
if (gimp_layer_is_floating_sel (floating_sel))
|
||||
floating_sel_remove (floating_sel);
|
||||
else
|
||||
success = FALSE;
|
||||
|
@ -106,7 +106,7 @@ floating_sel_anchor_invoker (Argument *args)
|
|||
|
||||
if (success)
|
||||
{
|
||||
if (layer_is_floating_sel (floating_sel))
|
||||
if (gimp_layer_is_floating_sel (floating_sel))
|
||||
floating_sel_anchor (floating_sel);
|
||||
else
|
||||
success = FALSE;
|
||||
|
@ -152,7 +152,7 @@ floating_sel_to_layer_invoker (Argument *args)
|
|||
|
||||
if (success)
|
||||
{
|
||||
if (layer_is_floating_sel (floating_sel))
|
||||
if (gimp_layer_is_floating_sel (floating_sel))
|
||||
floating_sel_to_layer (floating_sel);
|
||||
else
|
||||
success = FALSE;
|
||||
|
@ -252,7 +252,7 @@ floating_sel_rigor_invoker (Argument *args)
|
|||
|
||||
if (success)
|
||||
{
|
||||
if (layer_is_floating_sel (floating_sel))
|
||||
if (gimp_layer_is_floating_sel (floating_sel))
|
||||
floating_sel_rigor (floating_sel, undo);
|
||||
else
|
||||
success = FALSE;
|
||||
|
@ -306,7 +306,7 @@ floating_sel_relax_invoker (Argument *args)
|
|||
|
||||
if (success)
|
||||
{
|
||||
if (layer_is_floating_sel (floating_sel))
|
||||
if (gimp_layer_is_floating_sel (floating_sel))
|
||||
floating_sel_relax (floating_sel, undo);
|
||||
else
|
||||
success = FALSE;
|
||||
|
|
|
@ -2310,7 +2310,7 @@ image_floating_sel_attached_to_invoker (Argument *args)
|
|||
Argument *return_args;
|
||||
GimpImage *gimage;
|
||||
GimpDrawable *drawable = NULL;
|
||||
Layer *floating_sel;
|
||||
GimpLayer *floating_sel;
|
||||
|
||||
gimage = pdb_id_to_image (args[0].value.pdb_int);
|
||||
if (gimage == NULL)
|
||||
|
|
|
@ -145,7 +145,9 @@ layer_new_invoker (Argument *args)
|
|||
if (success)
|
||||
{
|
||||
opacity = (int) ((opacity_arg * 255) / 100);
|
||||
layer = layer_new (gimage, width, height, (GimpImageType) type, name, opacity, (LayerModeEffects) mode);
|
||||
layer = gimp_layer_new (gimage, width, height,
|
||||
(GimpImageType) type, name,
|
||||
opacity, (LayerModeEffects) mode);
|
||||
success = layer != NULL;
|
||||
}
|
||||
|
||||
|
@ -237,7 +239,7 @@ layer_copy_invoker (Argument *args)
|
|||
add_alpha = args[1].value.pdb_int ? TRUE : FALSE;
|
||||
|
||||
if (success)
|
||||
success = (copy = layer_copy (layer, add_alpha)) != NULL;
|
||||
success = (copy = gimp_layer_copy (layer, add_alpha)) != NULL;
|
||||
|
||||
return_args = procedural_db_return_args (&layer_copy_proc, success);
|
||||
|
||||
|
@ -304,7 +306,7 @@ layer_create_mask_invoker (Argument *args)
|
|||
success = FALSE;
|
||||
|
||||
if (success)
|
||||
success = (mask = layer_create_mask (layer, (AddMaskType) mask_type)) != NULL;
|
||||
success = (mask = gimp_layer_create_mask (layer, (AddMaskType) mask_type)) != NULL;
|
||||
|
||||
return_args = procedural_db_return_args (&layer_create_mask_proc, success);
|
||||
|
||||
|
@ -362,7 +364,7 @@ layer_scale_invoker (Argument *args)
|
|||
gint32 new_height;
|
||||
gboolean local_origin;
|
||||
GimpImage *gimage;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *floating_layer;
|
||||
|
||||
layer = (GimpLayer *) gimp_drawable_get_by_ID (args[0].value.pdb_int);
|
||||
if (layer == NULL)
|
||||
|
@ -389,7 +391,7 @@ layer_scale_invoker (Argument *args)
|
|||
if (floating_layer)
|
||||
floating_sel_relax (floating_layer, TRUE);
|
||||
|
||||
layer_scale (layer, new_width, new_height, local_origin);
|
||||
gimp_layer_scale (layer, new_width, new_height, local_origin);
|
||||
|
||||
if (floating_layer)
|
||||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
@ -453,7 +455,7 @@ layer_resize_invoker (Argument *args)
|
|||
gint32 offx;
|
||||
gint32 offy;
|
||||
GimpImage *gimage;
|
||||
Layer *floating_layer;
|
||||
GimpLayer *floating_layer;
|
||||
|
||||
layer = (GimpLayer *) gimp_drawable_get_by_ID (args[0].value.pdb_int);
|
||||
if (layer == NULL)
|
||||
|
@ -482,7 +484,7 @@ layer_resize_invoker (Argument *args)
|
|||
if (floating_layer)
|
||||
floating_sel_relax (floating_layer, TRUE);
|
||||
|
||||
layer_resize (layer, new_width, new_height, offx, offy);
|
||||
gimp_layer_resize (layer, new_width, new_height, offx, offy);
|
||||
|
||||
if (floating_layer)
|
||||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
@ -552,7 +554,7 @@ layer_delete_invoker (Argument *args)
|
|||
success = FALSE;
|
||||
|
||||
if (success)
|
||||
layer_delete (layer);
|
||||
gimp_layer_delete (layer);
|
||||
|
||||
return procedural_db_return_args (&layer_delete_proc, success);
|
||||
}
|
||||
|
@ -590,8 +592,8 @@ layer_translate_invoker (Argument *args)
|
|||
gint32 offx;
|
||||
gint32 offy;
|
||||
GimpImage *gimage;
|
||||
Layer *floating_layer;
|
||||
Layer *tmp_layer;
|
||||
GimpLayer *floating_layer;
|
||||
GimpLayer *tmp_layer;
|
||||
GSList *layer_list;
|
||||
|
||||
layer = (GimpLayer *) gimp_drawable_get_by_ID (args[0].value.pdb_int);
|
||||
|
@ -616,9 +618,9 @@ layer_translate_invoker (Argument *args)
|
|||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
tmp_layer = (Layer *) layer_list->data;
|
||||
tmp_layer = (GimpLayer *) layer_list->data;
|
||||
if ((tmp_layer == layer) || tmp_layer->linked)
|
||||
layer_translate (tmp_layer, offx, offy);
|
||||
gimp_layer_translate (tmp_layer, offx, offy);
|
||||
layer_list = layer_list->next;
|
||||
}
|
||||
|
||||
|
@ -680,7 +682,7 @@ layer_add_alpha_invoker (Argument *args)
|
|||
success = FALSE;
|
||||
|
||||
if (success)
|
||||
layer_add_alpha (layer);
|
||||
gimp_layer_add_alpha (layer);
|
||||
|
||||
return procedural_db_return_args (&layer_add_alpha_proc, success);
|
||||
}
|
||||
|
@ -718,8 +720,8 @@ layer_set_offsets_invoker (Argument *args)
|
|||
gint32 offx;
|
||||
gint32 offy;
|
||||
GimpImage *gimage;
|
||||
Layer *floating_layer;
|
||||
Layer *tmp_layer;
|
||||
GimpLayer *floating_layer;
|
||||
GimpLayer *tmp_layer;
|
||||
GSList *layer_list;
|
||||
|
||||
layer = (GimpLayer *) gimp_drawable_get_by_ID (args[0].value.pdb_int);
|
||||
|
@ -744,9 +746,9 @@ layer_set_offsets_invoker (Argument *args)
|
|||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
tmp_layer = (Layer *) layer_list->data;
|
||||
tmp_layer = (GimpLayer *) layer_list->data;
|
||||
if ((tmp_layer == layer) || tmp_layer->linked)
|
||||
layer_translate (tmp_layer,
|
||||
gimp_layer_translate (tmp_layer,
|
||||
(offx - GIMP_DRAWABLE (layer)->offset_x),
|
||||
(offy - GIMP_DRAWABLE (layer)->offset_y));
|
||||
layer_list = layer_list->next;
|
||||
|
@ -866,7 +868,7 @@ layer_is_floating_sel_invoker (Argument *args)
|
|||
return_args = procedural_db_return_args (&layer_is_floating_sel_proc, success);
|
||||
|
||||
if (success)
|
||||
return_args[1].value.pdb_int = layer_is_floating_sel (layer);
|
||||
return_args[1].value.pdb_int = gimp_layer_is_floating_sel (layer);
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
@ -919,7 +921,7 @@ layer_get_name_invoker (Argument *args)
|
|||
return_args = procedural_db_return_args (&layer_get_name_proc, success);
|
||||
|
||||
if (success)
|
||||
return_args[1].value.pdb_pointer = g_strdup (layer_get_name (layer));
|
||||
return_args[1].value.pdb_pointer = g_strdup (gimp_layer_get_name (layer));
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
@ -974,7 +976,7 @@ layer_set_name_invoker (Argument *args)
|
|||
success = FALSE;
|
||||
|
||||
if (success)
|
||||
layer_set_name (layer, name);
|
||||
gimp_layer_set_name (layer, name);
|
||||
|
||||
return procedural_db_return_args (&layer_set_name_proc, success);
|
||||
}
|
||||
|
@ -1843,7 +1845,7 @@ layer_get_tattoo_invoker (Argument *args)
|
|||
return_args = procedural_db_return_args (&layer_get_tattoo_proc, success);
|
||||
|
||||
if (success)
|
||||
return_args[1].value.pdb_int = layer_get_tattoo (layer);
|
||||
return_args[1].value.pdb_int = gimp_layer_get_tattoo (layer);
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
@ -1898,7 +1900,7 @@ layer_set_tattoo_invoker (Argument *args)
|
|||
success = FALSE;
|
||||
|
||||
if (success)
|
||||
layer_set_tattoo (layer, tattoo);
|
||||
gimp_layer_set_tattoo (layer, tattoo);
|
||||
|
||||
return procedural_db_return_args (&layer_set_tattoo_proc, success);
|
||||
}
|
||||
|
|
10
app/resize.c
10
app/resize.c
|
@ -1365,7 +1365,7 @@ resize_check_layer_scaling (ImageResize *image_scale)
|
|||
gboolean success = FALSE;
|
||||
GImage *gimage = NULL;
|
||||
GSList *list = NULL;
|
||||
Layer *layer = NULL;
|
||||
GimpLayer *layer = NULL;
|
||||
GtkWidget *dialog = NULL;
|
||||
|
||||
g_assert (image_scale != NULL);
|
||||
|
@ -1378,10 +1378,10 @@ resize_check_layer_scaling (ImageResize *image_scale)
|
|||
list = gimage->layers;
|
||||
while (list && success == TRUE)
|
||||
{
|
||||
layer = (Layer *)list->data;
|
||||
success = layer_check_scaling (layer,
|
||||
image_scale->resize->width,
|
||||
image_scale->resize->height);
|
||||
layer = (GimpLayer *)list->data;
|
||||
success = gimp_layer_check_scaling (layer,
|
||||
image_scale->resize->width,
|
||||
image_scale->resize->height);
|
||||
list = g_slist_next (list);
|
||||
|
||||
}
|
||||
|
|
|
@ -284,7 +284,7 @@ bucket_fill_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
|
||||
gint x, y;
|
||||
|
|
|
@ -488,7 +488,7 @@ by_color_select_cursor_update (Tool *tool,
|
|||
GDisplay *gdisp)
|
||||
{
|
||||
ByColorSelect *by_col_sel;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
by_col_sel = (ByColorSelect *) tool->private;
|
||||
|
|
|
@ -347,7 +347,7 @@ clone_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -377,10 +377,12 @@ crop_button_release (Tool *tool,
|
|||
if (crop->function == CROPPING)
|
||||
{
|
||||
if (crop_options->type == CROP_CROP)
|
||||
crop_image (gdisp->gimage, crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_image (gdisp->gimage,
|
||||
crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_options->layer_only, TRUE);
|
||||
else
|
||||
crop_image (gdisp->gimage, crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_image (gdisp->gimage,
|
||||
crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_options->layer_only, FALSE);
|
||||
|
||||
/* Finish the tool */
|
||||
|
@ -452,13 +454,13 @@ crop_motion (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Crop *crop;
|
||||
Layer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint curx, cury;
|
||||
gint inc_x, inc_y;
|
||||
gchar size[STATUSBAR_SIZE];
|
||||
gint min_x, min_y, max_x, max_y;
|
||||
Crop *crop;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint curx, cury;
|
||||
gint inc_x, inc_y;
|
||||
gchar size[STATUSBAR_SIZE];
|
||||
gint min_x, min_y, max_x, max_y;
|
||||
|
||||
crop = (Crop *) tool->private;
|
||||
|
||||
|
@ -646,11 +648,11 @@ crop_arrow_keys_func (Tool *tool,
|
|||
GdkEventKey *kevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
Crop *crop;
|
||||
gint inc_x, inc_y;
|
||||
gint min_x, min_y;
|
||||
gint max_x, max_y;
|
||||
GimpLayer *layer;
|
||||
Crop *crop;
|
||||
gint inc_x, inc_y;
|
||||
gint min_x, min_y;
|
||||
gint max_x, max_y;
|
||||
|
||||
if (tool->state == ACTIVE)
|
||||
{
|
||||
|
@ -872,15 +874,15 @@ crop_image (GImage *gimage,
|
|||
gboolean layer_only,
|
||||
gboolean crop_layers)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
Channel *channel;
|
||||
GList *guide_list_ptr;
|
||||
GSList *list;
|
||||
gint width, height;
|
||||
gint lx1, ly1, lx2, ly2;
|
||||
gint off_x, off_y;
|
||||
gint doff_x, doff_y;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel;
|
||||
GList *guide_list_ptr;
|
||||
GSList *list;
|
||||
gint width, height;
|
||||
gint lx1, ly1, lx2, ly2;
|
||||
gint off_x, off_y;
|
||||
gint doff_x, doff_y;
|
||||
|
||||
width = x2 - x1;
|
||||
height = y2 - y1;
|
||||
|
@ -896,7 +898,7 @@ crop_image (GImage *gimage,
|
|||
|
||||
layer = gimage->active_layer;
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &doff_x, &doff_y);
|
||||
|
@ -904,9 +906,9 @@ crop_image (GImage *gimage,
|
|||
off_x = (doff_x - x1);
|
||||
off_y = (doff_y - y1);
|
||||
|
||||
layer_resize (layer, width, height, off_x, off_y);
|
||||
gimp_layer_resize (layer, width, height, off_x, off_y);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
undo_push_group_end (gimage);
|
||||
|
@ -947,10 +949,10 @@ crop_image (GImage *gimage,
|
|||
{
|
||||
GSList *next;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
next = g_slist_next (list);
|
||||
|
||||
layer_translate (layer, -x1, -y1);
|
||||
gimp_layer_translate (layer, -x1, -y1);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -968,9 +970,9 @@ crop_image (GImage *gimage,
|
|||
height = ly2 - ly1;
|
||||
|
||||
if (width && height)
|
||||
layer_resize (layer, width, height,
|
||||
-(lx1 - off_x),
|
||||
-(ly1 - off_y));
|
||||
gimp_layer_resize (layer, width, height,
|
||||
-(lx1 - off_x),
|
||||
-(ly1 - off_y));
|
||||
else
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -1253,10 +1255,10 @@ static void
|
|||
crop_selection_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
Tool *tool;
|
||||
Crop *crop;
|
||||
Layer *layer;
|
||||
GDisplay *gdisp;
|
||||
Tool *tool;
|
||||
Crop *crop;
|
||||
GimpLayer *layer;
|
||||
GDisplay *gdisp;
|
||||
|
||||
tool = active_tool;
|
||||
crop = (Crop *) tool->private;
|
||||
|
|
|
@ -131,8 +131,8 @@ init_edit_selection (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
EditType edit_type)
|
||||
{
|
||||
Layer *layer;
|
||||
gint x, y;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
undo_push_group_start (gdisp->gimage, LAYER_DISPLACE_UNDO);
|
||||
|
||||
|
@ -159,7 +159,7 @@ init_edit_selection (Tool *tool,
|
|||
if (edit_type == EDIT_LAYER_TRANSLATE)
|
||||
{
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
edit_type = EDIT_FLOATING_SEL_TRANSLATE;
|
||||
}
|
||||
|
||||
|
@ -217,9 +217,9 @@ edit_selection_button_release (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
gint x;
|
||||
gint y;
|
||||
Layer *layer;
|
||||
gint x;
|
||||
gint y;
|
||||
GimpLayer *layer;
|
||||
|
||||
/* resume the current selection and ungrab the pointer */
|
||||
selection_resume (gdisp->select);
|
||||
|
@ -279,7 +279,7 @@ edit_selection_button_release (Tool *tool,
|
|||
if (edit_select.edit_type == EDIT_FLOATING_SEL_TRANSLATE)
|
||||
{
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_anchor (layer);
|
||||
}
|
||||
}
|
||||
|
@ -338,10 +338,10 @@ edit_selection_motion (Tool *tool,
|
|||
/******************************************* adam's live move *******/
|
||||
/********************************************************************/
|
||||
{
|
||||
gint x, y;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *layer_list;
|
||||
gint x, y;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *layer_list;
|
||||
|
||||
x = edit_select.x;
|
||||
y = edit_select.y;
|
||||
|
@ -374,11 +374,11 @@ edit_selection_motion (Tool *tool,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == gdisp->gimage->active_layer ||
|
||||
layer_linked (layer))
|
||||
gimp_layer_linked (layer))
|
||||
{
|
||||
layer_translate (layer, xoffset, yoffset);
|
||||
gimp_layer_translate (layer, xoffset, yoffset);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -421,7 +421,7 @@ edit_selection_motion (Tool *tool,
|
|||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
|
||||
floating_sel_relax (layer, TRUE);
|
||||
layer_translate (layer, xoffset, yoffset);
|
||||
gimp_layer_translate (layer, xoffset, yoffset);
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
if (edit_select.first_move)
|
||||
|
@ -504,7 +504,7 @@ edit_selection_draw (Tool *tool)
|
|||
{
|
||||
GDisplay *gdisp;
|
||||
Selection *select;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GSList *layer_list;
|
||||
gint floating_sel;
|
||||
gint x1, y1, x2, y2;
|
||||
|
@ -519,7 +519,7 @@ edit_selection_draw (Tool *tool)
|
|||
{
|
||||
case EDIT_MASK_TRANSLATE:
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
floating_sel = layer_is_floating_sel (layer);
|
||||
floating_sel = gimp_layer_is_floating_sel (layer);
|
||||
|
||||
if (!floating_sel)
|
||||
{
|
||||
|
@ -577,8 +577,9 @@ edit_selection_draw (Tool *tool)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
if (((layer) != gdisp->gimage->active_layer) && layer_linked (layer))
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (((layer) != gdisp->gimage->active_layer) &&
|
||||
gimp_layer_linked (layer))
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
gdisplay_transform_coords (gdisp, off_x, off_y, &x3, &y3, FALSE);
|
||||
|
@ -763,11 +764,11 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
GdkEventKey *kevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
gint inc_x, inc_y, mask_inc_x, mask_inc_y;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *layer_list;
|
||||
EditType edit_type;
|
||||
gint inc_x, inc_y, mask_inc_x, mask_inc_y;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *layer_list;
|
||||
EditType edit_type;
|
||||
|
||||
layer = NULL;
|
||||
|
||||
|
@ -813,7 +814,7 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
{
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
edit_type = EDIT_FLOATING_SEL_TRANSLATE;
|
||||
else
|
||||
edit_type = EDIT_LAYER_TRANSLATE;
|
||||
|
@ -835,11 +836,11 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (((layer) == gdisp->gimage->active_layer) ||
|
||||
layer_linked (layer))
|
||||
gimp_layer_linked (layer))
|
||||
{
|
||||
layer_translate (layer, inc_x, inc_y);
|
||||
gimp_layer_translate (layer, inc_x, inc_y);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -852,7 +853,7 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
layer_translate (layer, inc_x, inc_y);
|
||||
gimp_layer_translate (layer, inc_x, inc_y);
|
||||
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ bucket_fill_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
CursorModifier cmodifier = CURSOR_MODIFIER_NONE;
|
||||
gint x, y;
|
||||
|
|
|
@ -488,7 +488,7 @@ by_color_select_cursor_update (Tool *tool,
|
|||
GDisplay *gdisp)
|
||||
{
|
||||
ByColorSelect *by_col_sel;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
by_col_sel = (ByColorSelect *) tool->private;
|
||||
|
|
|
@ -347,7 +347,7 @@ clone_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -377,10 +377,12 @@ crop_button_release (Tool *tool,
|
|||
if (crop->function == CROPPING)
|
||||
{
|
||||
if (crop_options->type == CROP_CROP)
|
||||
crop_image (gdisp->gimage, crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_image (gdisp->gimage,
|
||||
crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_options->layer_only, TRUE);
|
||||
else
|
||||
crop_image (gdisp->gimage, crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_image (gdisp->gimage,
|
||||
crop->tx1, crop->ty1, crop->tx2, crop->ty2,
|
||||
crop_options->layer_only, FALSE);
|
||||
|
||||
/* Finish the tool */
|
||||
|
@ -452,13 +454,13 @@ crop_motion (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Crop *crop;
|
||||
Layer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint curx, cury;
|
||||
gint inc_x, inc_y;
|
||||
gchar size[STATUSBAR_SIZE];
|
||||
gint min_x, min_y, max_x, max_y;
|
||||
Crop *crop;
|
||||
GimpLayer *layer;
|
||||
gint x1, y1, x2, y2;
|
||||
gint curx, cury;
|
||||
gint inc_x, inc_y;
|
||||
gchar size[STATUSBAR_SIZE];
|
||||
gint min_x, min_y, max_x, max_y;
|
||||
|
||||
crop = (Crop *) tool->private;
|
||||
|
||||
|
@ -646,11 +648,11 @@ crop_arrow_keys_func (Tool *tool,
|
|||
GdkEventKey *kevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
Crop *crop;
|
||||
gint inc_x, inc_y;
|
||||
gint min_x, min_y;
|
||||
gint max_x, max_y;
|
||||
GimpLayer *layer;
|
||||
Crop *crop;
|
||||
gint inc_x, inc_y;
|
||||
gint min_x, min_y;
|
||||
gint max_x, max_y;
|
||||
|
||||
if (tool->state == ACTIVE)
|
||||
{
|
||||
|
@ -872,15 +874,15 @@ crop_image (GImage *gimage,
|
|||
gboolean layer_only,
|
||||
gboolean crop_layers)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
Channel *channel;
|
||||
GList *guide_list_ptr;
|
||||
GSList *list;
|
||||
gint width, height;
|
||||
gint lx1, ly1, lx2, ly2;
|
||||
gint off_x, off_y;
|
||||
gint doff_x, doff_y;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
Channel *channel;
|
||||
GList *guide_list_ptr;
|
||||
GSList *list;
|
||||
gint width, height;
|
||||
gint lx1, ly1, lx2, ly2;
|
||||
gint off_x, off_y;
|
||||
gint doff_x, doff_y;
|
||||
|
||||
width = x2 - x1;
|
||||
height = y2 - y1;
|
||||
|
@ -896,7 +898,7 @@ crop_image (GImage *gimage,
|
|||
|
||||
layer = gimage->active_layer;
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &doff_x, &doff_y);
|
||||
|
@ -904,9 +906,9 @@ crop_image (GImage *gimage,
|
|||
off_x = (doff_x - x1);
|
||||
off_y = (doff_y - y1);
|
||||
|
||||
layer_resize (layer, width, height, off_x, off_y);
|
||||
gimp_layer_resize (layer, width, height, off_x, off_y);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
undo_push_group_end (gimage);
|
||||
|
@ -947,10 +949,10 @@ crop_image (GImage *gimage,
|
|||
{
|
||||
GSList *next;
|
||||
|
||||
layer = (Layer *) list->data;
|
||||
layer = (GimpLayer *) list->data;
|
||||
next = g_slist_next (list);
|
||||
|
||||
layer_translate (layer, -x1, -y1);
|
||||
gimp_layer_translate (layer, -x1, -y1);
|
||||
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
|
||||
|
@ -968,9 +970,9 @@ crop_image (GImage *gimage,
|
|||
height = ly2 - ly1;
|
||||
|
||||
if (width && height)
|
||||
layer_resize (layer, width, height,
|
||||
-(lx1 - off_x),
|
||||
-(ly1 - off_y));
|
||||
gimp_layer_resize (layer, width, height,
|
||||
-(lx1 - off_x),
|
||||
-(ly1 - off_y));
|
||||
else
|
||||
gimp_image_remove_layer (gimage, layer);
|
||||
}
|
||||
|
@ -1253,10 +1255,10 @@ static void
|
|||
crop_selection_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
Tool *tool;
|
||||
Crop *crop;
|
||||
Layer *layer;
|
||||
GDisplay *gdisp;
|
||||
Tool *tool;
|
||||
Crop *crop;
|
||||
GimpLayer *layer;
|
||||
GDisplay *gdisp;
|
||||
|
||||
tool = active_tool;
|
||||
crop = (Crop *) tool->private;
|
||||
|
|
|
@ -131,8 +131,8 @@ init_edit_selection (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
EditType edit_type)
|
||||
{
|
||||
Layer *layer;
|
||||
gint x, y;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
undo_push_group_start (gdisp->gimage, LAYER_DISPLACE_UNDO);
|
||||
|
||||
|
@ -159,7 +159,7 @@ init_edit_selection (Tool *tool,
|
|||
if (edit_type == EDIT_LAYER_TRANSLATE)
|
||||
{
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
edit_type = EDIT_FLOATING_SEL_TRANSLATE;
|
||||
}
|
||||
|
||||
|
@ -217,9 +217,9 @@ edit_selection_button_release (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
gint x;
|
||||
gint y;
|
||||
Layer *layer;
|
||||
gint x;
|
||||
gint y;
|
||||
GimpLayer *layer;
|
||||
|
||||
/* resume the current selection and ungrab the pointer */
|
||||
selection_resume (gdisp->select);
|
||||
|
@ -279,7 +279,7 @@ edit_selection_button_release (Tool *tool,
|
|||
if (edit_select.edit_type == EDIT_FLOATING_SEL_TRANSLATE)
|
||||
{
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
floating_sel_anchor (layer);
|
||||
}
|
||||
}
|
||||
|
@ -338,10 +338,10 @@ edit_selection_motion (Tool *tool,
|
|||
/******************************************* adam's live move *******/
|
||||
/********************************************************************/
|
||||
{
|
||||
gint x, y;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *layer_list;
|
||||
gint x, y;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *layer_list;
|
||||
|
||||
x = edit_select.x;
|
||||
y = edit_select.y;
|
||||
|
@ -374,11 +374,11 @@ edit_selection_motion (Tool *tool,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (layer == gdisp->gimage->active_layer ||
|
||||
layer_linked (layer))
|
||||
gimp_layer_linked (layer))
|
||||
{
|
||||
layer_translate (layer, xoffset, yoffset);
|
||||
gimp_layer_translate (layer, xoffset, yoffset);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -421,7 +421,7 @@ edit_selection_motion (Tool *tool,
|
|||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
|
||||
floating_sel_relax (layer, TRUE);
|
||||
layer_translate (layer, xoffset, yoffset);
|
||||
gimp_layer_translate (layer, xoffset, yoffset);
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
if (edit_select.first_move)
|
||||
|
@ -504,7 +504,7 @@ edit_selection_draw (Tool *tool)
|
|||
{
|
||||
GDisplay *gdisp;
|
||||
Selection *select;
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GSList *layer_list;
|
||||
gint floating_sel;
|
||||
gint x1, y1, x2, y2;
|
||||
|
@ -519,7 +519,7 @@ edit_selection_draw (Tool *tool)
|
|||
{
|
||||
case EDIT_MASK_TRANSLATE:
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
floating_sel = layer_is_floating_sel (layer);
|
||||
floating_sel = gimp_layer_is_floating_sel (layer);
|
||||
|
||||
if (!floating_sel)
|
||||
{
|
||||
|
@ -577,8 +577,9 @@ edit_selection_draw (Tool *tool)
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
if (((layer) != gdisp->gimage->active_layer) && layer_linked (layer))
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (((layer) != gdisp->gimage->active_layer) &&
|
||||
gimp_layer_linked (layer))
|
||||
{
|
||||
gimp_drawable_offsets (GIMP_DRAWABLE (layer), &off_x, &off_y);
|
||||
gdisplay_transform_coords (gdisp, off_x, off_y, &x3, &y3, FALSE);
|
||||
|
@ -763,11 +764,11 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
GdkEventKey *kevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
gint inc_x, inc_y, mask_inc_x, mask_inc_y;
|
||||
Layer *layer;
|
||||
Layer *floating_layer;
|
||||
GSList *layer_list;
|
||||
EditType edit_type;
|
||||
gint inc_x, inc_y, mask_inc_x, mask_inc_y;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_layer;
|
||||
GSList *layer_list;
|
||||
EditType edit_type;
|
||||
|
||||
layer = NULL;
|
||||
|
||||
|
@ -813,7 +814,7 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
{
|
||||
layer = gimp_image_get_active_layer (gdisp->gimage);
|
||||
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
edit_type = EDIT_FLOATING_SEL_TRANSLATE;
|
||||
else
|
||||
edit_type = EDIT_LAYER_TRANSLATE;
|
||||
|
@ -835,11 +836,11 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
layer_list;
|
||||
layer_list = g_slist_next (layer_list))
|
||||
{
|
||||
layer = (Layer *) layer_list->data;
|
||||
layer = (GimpLayer *) layer_list->data;
|
||||
if (((layer) == gdisp->gimage->active_layer) ||
|
||||
layer_linked (layer))
|
||||
gimp_layer_linked (layer))
|
||||
{
|
||||
layer_translate (layer, inc_x, inc_y);
|
||||
gimp_layer_translate (layer, inc_x, inc_y);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -852,7 +853,7 @@ edit_sel_arrow_keys_func (Tool *tool,
|
|||
|
||||
floating_sel_relax (layer, TRUE);
|
||||
|
||||
layer_translate (layer, inc_x, inc_y);
|
||||
gimp_layer_translate (layer, inc_x, inc_y);
|
||||
|
||||
floating_sel_rigor (layer, TRUE);
|
||||
|
||||
|
|
|
@ -1049,7 +1049,7 @@ ink_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -48,9 +48,9 @@ typedef struct _MoveTool MoveTool;
|
|||
|
||||
struct _MoveTool
|
||||
{
|
||||
Layer *layer;
|
||||
Guide *guide;
|
||||
GDisplay *disp;
|
||||
GimpLayer *layer;
|
||||
Guide *guide;
|
||||
GDisplay *disp;
|
||||
};
|
||||
|
||||
|
||||
|
@ -88,10 +88,10 @@ move_tool_button_press (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
MoveTool *move;
|
||||
Layer *layer;
|
||||
Guide *guide;
|
||||
gint x, y;
|
||||
MoveTool *move;
|
||||
GimpLayer *layer;
|
||||
Guide *guide;
|
||||
gint x, y;
|
||||
|
||||
move = (MoveTool *) tool->private;
|
||||
|
||||
|
@ -140,7 +140,7 @@ move_tool_button_press (Tool *tool,
|
|||
* use the move tool
|
||||
*/
|
||||
if (gimp_image_floating_sel (gdisp->gimage) &&
|
||||
!layer_is_floating_sel (layer))
|
||||
! gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
move->layer = gimp_image_floating_sel (gdisp->gimage);
|
||||
}
|
||||
|
@ -331,10 +331,10 @@ move_tool_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
MoveTool *move;
|
||||
Guide *guide;
|
||||
Layer *layer;
|
||||
gint x, y;
|
||||
MoveTool *move;
|
||||
Guide *guide;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
move = (MoveTool *) tool->private;
|
||||
|
||||
|
@ -386,7 +386,7 @@ move_tool_cursor_update (Tool *tool,
|
|||
{
|
||||
/* if there is a floating selection, and this aint it... */
|
||||
if (gimp_image_floating_sel (gdisp->gimage) &&
|
||||
!layer_is_floating_sel (layer))
|
||||
! gimp_layer_is_floating_sel (layer))
|
||||
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
|
||||
RECT_SELECT,
|
||||
CURSOR_MODIFIER_ANCHOR,
|
||||
|
|
|
@ -495,9 +495,9 @@ selection_tool_update_op_state (RectSelect *rect_sel,
|
|||
gint state,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
Layer *floating_sel;
|
||||
gint tx, ty;
|
||||
GimpLayer *layer;
|
||||
GimpLayer *floating_sel;
|
||||
gint tx, ty;
|
||||
|
||||
if (active_tool->state == ACTIVE)
|
||||
return;
|
||||
|
|
|
@ -347,7 +347,7 @@ clone_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -321,8 +321,8 @@ text_button_press (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
TextTool *text_tool;
|
||||
GimpLayer *layer;
|
||||
TextTool *text_tool;
|
||||
|
||||
text_tool = tool->private;
|
||||
text_tool->gdisp = gdisp;
|
||||
|
@ -338,7 +338,7 @@ text_button_press (Tool *tool,
|
|||
text_tool->click_x,
|
||||
text_tool->click_y)))
|
||||
/* If there is a floating selection, and this aint it, use the move tool */
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
init_edit_selection (tool, gdisp, bevent, EDIT_LAYER_TRANSLATE);
|
||||
return;
|
||||
|
@ -370,15 +370,15 @@ text_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
gint x, y;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y,
|
||||
&x, &y, FALSE, FALSE);
|
||||
|
||||
if ((layer = gimp_image_pick_correlate_layer (gdisp->gimage, x, y)))
|
||||
/* if there is a floating selection, and this aint it... */
|
||||
if (layer_is_floating_sel (layer))
|
||||
if (gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
gdisplay_install_tool_cursor (gdisp, GDK_FLEUR,
|
||||
MOVE,
|
||||
|
@ -581,25 +581,25 @@ text_render (GimpImage *gimage,
|
|||
gint border,
|
||||
gint antialias)
|
||||
{
|
||||
GdkFont *font;
|
||||
GdkPixmap *pixmap;
|
||||
GdkImage *image;
|
||||
GdkGC *gc;
|
||||
GdkColor black, white;
|
||||
Layer *layer;
|
||||
GdkFont *font;
|
||||
GdkPixmap *pixmap;
|
||||
GdkImage *image;
|
||||
GdkGC *gc;
|
||||
GdkColor black, white;
|
||||
GimpLayer *layer;
|
||||
TileManager *mask, *newmask;
|
||||
PixelRegion textPR, maskPR;
|
||||
gint layer_type;
|
||||
guchar color[MAX_CHANNELS];
|
||||
gchar *str;
|
||||
gint nstrs;
|
||||
gboolean crop;
|
||||
gint line_width, line_height;
|
||||
gint pixmap_width, pixmap_height;
|
||||
gint text_width, text_height;
|
||||
gint width, height;
|
||||
gint x, y, k;
|
||||
void *pr;
|
||||
PixelRegion textPR, maskPR;
|
||||
gint layer_type;
|
||||
guchar color[MAX_CHANNELS];
|
||||
gchar *str;
|
||||
gint nstrs;
|
||||
gboolean crop;
|
||||
gint line_width, line_height;
|
||||
gint pixmap_width, pixmap_height;
|
||||
gint text_width, text_height;
|
||||
gint width, height;
|
||||
gint x, y, k;
|
||||
void *pr;
|
||||
#ifndef GDK_WINDOWING_WIN32
|
||||
XFontStruct *xfs;
|
||||
#endif
|
||||
|
@ -764,11 +764,11 @@ text_render (GimpImage *gimage,
|
|||
tile_manager_destroy (mask);
|
||||
|
||||
if (newmask &&
|
||||
(layer = layer_new (gimage,
|
||||
tile_manager_width (newmask),
|
||||
tile_manager_height (newmask),
|
||||
layer_type,
|
||||
_("Text Layer"), OPAQUE_OPACITY, NORMAL_MODE)))
|
||||
(layer = gimp_layer_new (gimage,
|
||||
tile_manager_width (newmask),
|
||||
tile_manager_height (newmask),
|
||||
layer_type,
|
||||
_("Text Layer"), OPAQUE_OPACITY, NORMAL_MODE)))
|
||||
{
|
||||
/* color the layer buffer */
|
||||
gimp_image_get_foreground (gimage, drawable, color);
|
||||
|
|
|
@ -1049,7 +1049,7 @@ ink_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
GdkCursorType ctype = GDK_TOP_LEFT_ARROW;
|
||||
gint x, y;
|
||||
|
||||
|
|
|
@ -48,9 +48,9 @@ typedef struct _MoveTool MoveTool;
|
|||
|
||||
struct _MoveTool
|
||||
{
|
||||
Layer *layer;
|
||||
Guide *guide;
|
||||
GDisplay *disp;
|
||||
GimpLayer *layer;
|
||||
Guide *guide;
|
||||
GDisplay *disp;
|
||||
};
|
||||
|
||||
|
||||
|
@ -88,10 +88,10 @@ move_tool_button_press (Tool *tool,
|
|||
GdkEventButton *bevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
MoveTool *move;
|
||||
Layer *layer;
|
||||
Guide *guide;
|
||||
gint x, y;
|
||||
MoveTool *move;
|
||||
GimpLayer *layer;
|
||||
Guide *guide;
|
||||
gint x, y;
|
||||
|
||||
move = (MoveTool *) tool->private;
|
||||
|
||||
|
@ -140,7 +140,7 @@ move_tool_button_press (Tool *tool,
|
|||
* use the move tool
|
||||
*/
|
||||
if (gimp_image_floating_sel (gdisp->gimage) &&
|
||||
!layer_is_floating_sel (layer))
|
||||
! gimp_layer_is_floating_sel (layer))
|
||||
{
|
||||
move->layer = gimp_image_floating_sel (gdisp->gimage);
|
||||
}
|
||||
|
@ -331,10 +331,10 @@ move_tool_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
MoveTool *move;
|
||||
Guide *guide;
|
||||
Layer *layer;
|
||||
gint x, y;
|
||||
MoveTool *move;
|
||||
Guide *guide;
|
||||
GimpLayer *layer;
|
||||
gint x, y;
|
||||
|
||||
move = (MoveTool *) tool->private;
|
||||
|
||||
|
@ -386,7 +386,7 @@ move_tool_cursor_update (Tool *tool,
|
|||
{
|
||||
/* if there is a floating selection, and this aint it... */
|
||||
if (gimp_image_floating_sel (gdisp->gimage) &&
|
||||
!layer_is_floating_sel (layer))
|
||||
! gimp_layer_is_floating_sel (layer))
|
||||
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR,
|
||||
RECT_SELECT,
|
||||
CURSOR_MODIFIER_ANCHOR,
|
||||
|
|
|
@ -471,7 +471,7 @@ paint_core_cursor_update (Tool *tool,
|
|||
GdkEventMotion *mevent,
|
||||
GDisplay *gdisp)
|
||||
{
|
||||
Layer *layer;
|
||||
GimpLayer *layer;
|
||||
PaintCore *paint_core;
|
||||
gint x, y;
|
||||
gchar status_str[STATUSBAR_SIZE];
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue