From 7427a53c95d756aba9f0a8e44f759df0235de239 Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Sat, 27 Nov 1999 14:00:26 +0000 Subject: [PATCH] Layer to Imagesize in C --Sven --- ChangeLog | 20 +++++++++++++++++--- app/actions/help-commands.c | 11 +++++++++++ app/actions/help-commands.h | 1 + app/apptypes.h | 6 +++--- app/bezier_select.c | 1 + app/commands.c | 11 +++++++++++ app/commands.h | 1 + app/core/gimplayer.c | 24 ++++++++++++++++++++++++ app/core/gimplayer.h | 1 + app/gimplayer.c | 24 ++++++++++++++++++++++++ app/gimplayer.h | 1 + app/gui/commands.c | 11 +++++++++++ app/gui/commands.h | 1 + app/gui/help-commands.c | 11 +++++++++++ app/gui/help-commands.h | 1 + app/gui/layers-dialog.c | 15 +++++++++++++++ app/gui/layers-dialog.h | 1 + app/gui/menus.c | 7 ++++++- app/layer.c | 24 ++++++++++++++++++++++++ app/layer.h | 1 + app/layers_dialog.c | 15 +++++++++++++++ app/layers_dialog.h | 1 + app/menus.c | 7 ++++++- app/menus/menus.c | 7 ++++++- app/nav_window.h | 15 ++++++++------- app/tools/bezier_select.c | 1 + app/widgets/gimpitemfactory.c | 7 ++++++- 27 files changed, 209 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index a68566b90d..4e2c1b04db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +Sat Nov 27 14:49:20 MET 1999 Sven Neuman + + * app/commands.c + * app/commands.h + * app/layer.c + * app/layer.h + * app/layers_dialog.c + * app/layers_dialog.h + * app/menus.c: implemented "Resize Layer to Imagesize" in C + + * app/apptypes.h: indentation + + * app/bezier_select.c + * app/nav_window.h: get rid of compiler warnings + 1999-11-27 Michael Natterer * app/main.c: bind the "gimp-perl" textdomain. @@ -11,10 +26,9 @@ Sat Nov 27 04:08:32 MET 1999 Sven Neuman - * app/fileops.c: I might break it again, but loading a single + * app/fileops.c: I might break it again, but creating a single preview seemed to be broken after Adam fixed my last change. - IMHO it works as it should now... [and Adam sez: "I didn't - touch preview loading."] + IMHO it works as it should now... Sat Nov 27 03:51:41 MET 1999 Sven Neuman diff --git a/app/actions/help-commands.c b/app/actions/help-commands.c index d6eb3b576f..4cf0c25ad0 100644 --- a/app/actions/help-commands.c +++ b/app/actions/help-commands.c @@ -1030,6 +1030,17 @@ layers_alpha_select_cmd_callback (GtkWidget *widget, gdisplays_flush (); } +void +layers_resize_to_image_cmd_callback (GtkWidget *widget, + gpointer client_data) +{ + GDisplay *gdisp; + return_if_no_display (gdisp); + + layer_resize_to_image (gdisp->gimage->active_layer); + gdisplays_flush (); +} + /***** Tools *****/ void diff --git a/app/actions/help-commands.h b/app/actions/help-commands.h index ef9f12b999..977b962617 100644 --- a/app/actions/help-commands.h +++ b/app/actions/help-commands.h @@ -100,6 +100,7 @@ void layers_flatten_cmd_callback (GtkWidget *, gpointer); void layers_mask_select_cmd_callback (GtkWidget *, gpointer); void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer); void layers_alpha_select_cmd_callback (GtkWidget *, gpointer); +void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer); void tools_default_colors_cmd_callback (GtkWidget *, gpointer); void tools_swap_colors_cmd_callback (GtkWidget *, gpointer); diff --git a/app/apptypes.h b/app/apptypes.h index d80d4c6d56..9afc16bf29 100644 --- a/app/apptypes.h +++ b/app/apptypes.h @@ -153,11 +153,11 @@ typedef struct _paint_core PaintCore; typedef struct _GimpBrush GimpBrush; typedef struct _GimpBrushClass GimpBrushClass; -typedef struct _layer_undo LayerUndo; +typedef struct _layer_undo LayerUndo; -typedef struct _layer_mask_undo LayerMaskUndo; +typedef struct _layer_mask_undo LayerMaskUndo; -typedef struct _fs_to_layer_undo FStoLayerUndo; +typedef struct _fs_to_layer_undo FStoLayerUndo; typedef struct _PlugIn PlugIn; typedef struct _PlugInDef PlugInDef; diff --git a/app/bezier_select.c b/app/bezier_select.c index 292c106290..b708e6ab5e 100644 --- a/app/bezier_select.c +++ b/app/bezier_select.c @@ -32,6 +32,7 @@ #include "bezier_selectP.h" #include "paths_dialogP.h" #include "selection_options.h" +#include "undo.h" #include "libgimp/gimpintl.h" #include "libgimp/gimpmath.h" diff --git a/app/commands.c b/app/commands.c index d6eb3b576f..4cf0c25ad0 100644 --- a/app/commands.c +++ b/app/commands.c @@ -1030,6 +1030,17 @@ layers_alpha_select_cmd_callback (GtkWidget *widget, gdisplays_flush (); } +void +layers_resize_to_image_cmd_callback (GtkWidget *widget, + gpointer client_data) +{ + GDisplay *gdisp; + return_if_no_display (gdisp); + + layer_resize_to_image (gdisp->gimage->active_layer); + gdisplays_flush (); +} + /***** Tools *****/ void diff --git a/app/commands.h b/app/commands.h index ef9f12b999..977b962617 100644 --- a/app/commands.h +++ b/app/commands.h @@ -100,6 +100,7 @@ void layers_flatten_cmd_callback (GtkWidget *, gpointer); void layers_mask_select_cmd_callback (GtkWidget *, gpointer); void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer); void layers_alpha_select_cmd_callback (GtkWidget *, gpointer); +void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer); void tools_default_colors_cmd_callback (GtkWidget *, gpointer); void tools_swap_colors_cmd_callback (GtkWidget *, gpointer); diff --git a/app/core/gimplayer.c b/app/core/gimplayer.c index 9e1453032f..86af353a1b 100644 --- a/app/core/gimplayer.c +++ b/app/core/gimplayer.c @@ -902,6 +902,30 @@ layer_resize (Layer *layer, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height); } +void +layer_resize_to_image (Layer *layer) +{ + GImage *gimage; + gint offset_x; + gint offset_y; + + if (!(gimage = GIMP_DRAWABLE (layer)->gimage)) + return; + + undo_push_group_start (gimage, LAYER_RESIZE_UNDO); + + if (layer_is_floating_sel (layer)) + floating_sel_relax (layer, TRUE); + + gimp_drawable_offsets (GIMP_DRAWABLE (layer), &offset_x, &offset_y); + layer_resize (layer, gimage->width, gimage->height, offset_x, offset_y); + + if (layer_is_floating_sel (layer)) + floating_sel_rigor (layer, TRUE); + + undo_push_group_end (gimage); +} + BoundSeg * layer_boundary (Layer *layer, gint *num_segs) diff --git a/app/core/gimplayer.h b/app/core/gimplayer.h index a4c81a3a09..1cc8cce30f 100644 --- a/app/core/gimplayer.h +++ b/app/core/gimplayer.h @@ -94,6 +94,7 @@ void layer_translate (Layer *, gint, gint); void layer_add_alpha (Layer *); void layer_scale (Layer *, gint, gint, gint); void layer_resize (Layer *, gint, gint, gint, gint); +void layer_resize_to_image (Layer *); BoundSeg * layer_boundary (Layer *, gint *); void layer_invalidate_boundary (Layer *); gint layer_pick_correlate (Layer *, gint, gint); diff --git a/app/gimplayer.c b/app/gimplayer.c index 9e1453032f..86af353a1b 100644 --- a/app/gimplayer.c +++ b/app/gimplayer.c @@ -902,6 +902,30 @@ layer_resize (Layer *layer, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height); } +void +layer_resize_to_image (Layer *layer) +{ + GImage *gimage; + gint offset_x; + gint offset_y; + + if (!(gimage = GIMP_DRAWABLE (layer)->gimage)) + return; + + undo_push_group_start (gimage, LAYER_RESIZE_UNDO); + + if (layer_is_floating_sel (layer)) + floating_sel_relax (layer, TRUE); + + gimp_drawable_offsets (GIMP_DRAWABLE (layer), &offset_x, &offset_y); + layer_resize (layer, gimage->width, gimage->height, offset_x, offset_y); + + if (layer_is_floating_sel (layer)) + floating_sel_rigor (layer, TRUE); + + undo_push_group_end (gimage); +} + BoundSeg * layer_boundary (Layer *layer, gint *num_segs) diff --git a/app/gimplayer.h b/app/gimplayer.h index a4c81a3a09..1cc8cce30f 100644 --- a/app/gimplayer.h +++ b/app/gimplayer.h @@ -94,6 +94,7 @@ void layer_translate (Layer *, gint, gint); void layer_add_alpha (Layer *); void layer_scale (Layer *, gint, gint, gint); void layer_resize (Layer *, gint, gint, gint, gint); +void layer_resize_to_image (Layer *); BoundSeg * layer_boundary (Layer *, gint *); void layer_invalidate_boundary (Layer *); gint layer_pick_correlate (Layer *, gint, gint); diff --git a/app/gui/commands.c b/app/gui/commands.c index d6eb3b576f..4cf0c25ad0 100644 --- a/app/gui/commands.c +++ b/app/gui/commands.c @@ -1030,6 +1030,17 @@ layers_alpha_select_cmd_callback (GtkWidget *widget, gdisplays_flush (); } +void +layers_resize_to_image_cmd_callback (GtkWidget *widget, + gpointer client_data) +{ + GDisplay *gdisp; + return_if_no_display (gdisp); + + layer_resize_to_image (gdisp->gimage->active_layer); + gdisplays_flush (); +} + /***** Tools *****/ void diff --git a/app/gui/commands.h b/app/gui/commands.h index ef9f12b999..977b962617 100644 --- a/app/gui/commands.h +++ b/app/gui/commands.h @@ -100,6 +100,7 @@ void layers_flatten_cmd_callback (GtkWidget *, gpointer); void layers_mask_select_cmd_callback (GtkWidget *, gpointer); void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer); void layers_alpha_select_cmd_callback (GtkWidget *, gpointer); +void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer); void tools_default_colors_cmd_callback (GtkWidget *, gpointer); void tools_swap_colors_cmd_callback (GtkWidget *, gpointer); diff --git a/app/gui/help-commands.c b/app/gui/help-commands.c index d6eb3b576f..4cf0c25ad0 100644 --- a/app/gui/help-commands.c +++ b/app/gui/help-commands.c @@ -1030,6 +1030,17 @@ layers_alpha_select_cmd_callback (GtkWidget *widget, gdisplays_flush (); } +void +layers_resize_to_image_cmd_callback (GtkWidget *widget, + gpointer client_data) +{ + GDisplay *gdisp; + return_if_no_display (gdisp); + + layer_resize_to_image (gdisp->gimage->active_layer); + gdisplays_flush (); +} + /***** Tools *****/ void diff --git a/app/gui/help-commands.h b/app/gui/help-commands.h index ef9f12b999..977b962617 100644 --- a/app/gui/help-commands.h +++ b/app/gui/help-commands.h @@ -100,6 +100,7 @@ void layers_flatten_cmd_callback (GtkWidget *, gpointer); void layers_mask_select_cmd_callback (GtkWidget *, gpointer); void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer); void layers_alpha_select_cmd_callback (GtkWidget *, gpointer); +void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer); void tools_default_colors_cmd_callback (GtkWidget *, gpointer); void tools_swap_colors_cmd_callback (GtkWidget *, gpointer); diff --git a/app/gui/layers-dialog.c b/app/gui/layers-dialog.c index 0d03bc8202..e472c02c01 100644 --- a/app/gui/layers-dialog.c +++ b/app/gui/layers-dialog.c @@ -1043,6 +1043,7 @@ layers_dialog_set_menu_sensitivity (void) SET_OPS_SENSITIVE (5, ac && gimage && lp); SET_SENSITIVE ("Layer Boundary Size...", ac && gimage && lp); + SET_SENSITIVE ("Resize to Image", ac && gimage && lp); SET_SENSITIVE ("Scale Layer...", ac && gimage && lp); SET_SENSITIVE ("Merge Visible Layers...", fs && ac && gimage && lp); @@ -1625,6 +1626,20 @@ layers_dialog_resize_layer_callback (GtkWidget *widget, layers_dialog_resize_layer_query (gimage, gimage->active_layer); } +void +layers_dialog_resize_to_image_callback (GtkWidget *widget, + gpointer data) +{ + GImage *gimage; + + if (!layersD || !(gimage = layersD->gimage)) + return; + + layer_resize_to_image (gimage->active_layer); + + gdisplays_flush (); +} + void layers_dialog_add_layer_mask_callback (GtkWidget *widget, gpointer data) diff --git a/app/gui/layers-dialog.h b/app/gui/layers-dialog.h index dbc1237b04..657153dd86 100644 --- a/app/gui/layers-dialog.h +++ b/app/gui/layers-dialog.h @@ -29,6 +29,7 @@ void layers_dialog_duplicate_layer_callback (GtkWidget *, gpointer); void layers_dialog_delete_layer_callback (GtkWidget *, gpointer); void layers_dialog_scale_layer_callback (GtkWidget *, gpointer); void layers_dialog_resize_layer_callback (GtkWidget *, gpointer); +void layers_dialog_resize_to_image_callback (GtkWidget *, gpointer); void layers_dialog_add_layer_mask_callback (GtkWidget *, gpointer); void layers_dialog_apply_layer_mask_callback (GtkWidget *, gpointer); void layers_dialog_anchor_layer_callback (GtkWidget *, gpointer); diff --git a/app/gui/menus.c b/app/gui/menus.c index dfe6b5f88d..c12e138453 100644 --- a/app/gui/menus.c +++ b/app/gui/menus.c @@ -494,6 +494,9 @@ static GimpItemFactoryEntry image_entries[] = { { N_("/Layers/Rotate"), NULL, NULL, 0, "" }, NULL, NULL }, + { { N_("/Layers/Resize to Image"), NULL, layers_resize_to_image_cmd_callback, 0 }, + "layers/resize_to_image.html", NULL }, + { { "/Layers/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Layers/Anchor Layer"), "H", layers_anchor_cmd_callback, 0 }, @@ -700,9 +703,11 @@ static GimpItemFactoryEntry layers_entries[] = NULL, NULL }, { { N_("/Layer Boundary Size..."), "R", layers_dialog_resize_layer_callback, 0 }, "dialogs/resize_layer.html", NULL }, + { { N_("/Resize to Image"), NULL, layers_dialog_resize_to_image_callback, 0 }, + "resize_to_image.html", NULL }, { { N_("/Scale Layer..."), "S", layers_dialog_scale_layer_callback, 0 }, "dialogs/scale_layer.html", NULL }, - + { { "/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Merge Visible Layers..."), "M", layers_dialog_merge_layers_callback, 0 }, diff --git a/app/layer.c b/app/layer.c index 9e1453032f..86af353a1b 100644 --- a/app/layer.c +++ b/app/layer.c @@ -902,6 +902,30 @@ layer_resize (Layer *layer, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height); } +void +layer_resize_to_image (Layer *layer) +{ + GImage *gimage; + gint offset_x; + gint offset_y; + + if (!(gimage = GIMP_DRAWABLE (layer)->gimage)) + return; + + undo_push_group_start (gimage, LAYER_RESIZE_UNDO); + + if (layer_is_floating_sel (layer)) + floating_sel_relax (layer, TRUE); + + gimp_drawable_offsets (GIMP_DRAWABLE (layer), &offset_x, &offset_y); + layer_resize (layer, gimage->width, gimage->height, offset_x, offset_y); + + if (layer_is_floating_sel (layer)) + floating_sel_rigor (layer, TRUE); + + undo_push_group_end (gimage); +} + BoundSeg * layer_boundary (Layer *layer, gint *num_segs) diff --git a/app/layer.h b/app/layer.h index a4c81a3a09..1cc8cce30f 100644 --- a/app/layer.h +++ b/app/layer.h @@ -94,6 +94,7 @@ void layer_translate (Layer *, gint, gint); void layer_add_alpha (Layer *); void layer_scale (Layer *, gint, gint, gint); void layer_resize (Layer *, gint, gint, gint, gint); +void layer_resize_to_image (Layer *); BoundSeg * layer_boundary (Layer *, gint *); void layer_invalidate_boundary (Layer *); gint layer_pick_correlate (Layer *, gint, gint); diff --git a/app/layers_dialog.c b/app/layers_dialog.c index 0d03bc8202..e472c02c01 100644 --- a/app/layers_dialog.c +++ b/app/layers_dialog.c @@ -1043,6 +1043,7 @@ layers_dialog_set_menu_sensitivity (void) SET_OPS_SENSITIVE (5, ac && gimage && lp); SET_SENSITIVE ("Layer Boundary Size...", ac && gimage && lp); + SET_SENSITIVE ("Resize to Image", ac && gimage && lp); SET_SENSITIVE ("Scale Layer...", ac && gimage && lp); SET_SENSITIVE ("Merge Visible Layers...", fs && ac && gimage && lp); @@ -1625,6 +1626,20 @@ layers_dialog_resize_layer_callback (GtkWidget *widget, layers_dialog_resize_layer_query (gimage, gimage->active_layer); } +void +layers_dialog_resize_to_image_callback (GtkWidget *widget, + gpointer data) +{ + GImage *gimage; + + if (!layersD || !(gimage = layersD->gimage)) + return; + + layer_resize_to_image (gimage->active_layer); + + gdisplays_flush (); +} + void layers_dialog_add_layer_mask_callback (GtkWidget *widget, gpointer data) diff --git a/app/layers_dialog.h b/app/layers_dialog.h index dbc1237b04..657153dd86 100644 --- a/app/layers_dialog.h +++ b/app/layers_dialog.h @@ -29,6 +29,7 @@ void layers_dialog_duplicate_layer_callback (GtkWidget *, gpointer); void layers_dialog_delete_layer_callback (GtkWidget *, gpointer); void layers_dialog_scale_layer_callback (GtkWidget *, gpointer); void layers_dialog_resize_layer_callback (GtkWidget *, gpointer); +void layers_dialog_resize_to_image_callback (GtkWidget *, gpointer); void layers_dialog_add_layer_mask_callback (GtkWidget *, gpointer); void layers_dialog_apply_layer_mask_callback (GtkWidget *, gpointer); void layers_dialog_anchor_layer_callback (GtkWidget *, gpointer); diff --git a/app/menus.c b/app/menus.c index dfe6b5f88d..c12e138453 100644 --- a/app/menus.c +++ b/app/menus.c @@ -494,6 +494,9 @@ static GimpItemFactoryEntry image_entries[] = { { N_("/Layers/Rotate"), NULL, NULL, 0, "" }, NULL, NULL }, + { { N_("/Layers/Resize to Image"), NULL, layers_resize_to_image_cmd_callback, 0 }, + "layers/resize_to_image.html", NULL }, + { { "/Layers/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Layers/Anchor Layer"), "H", layers_anchor_cmd_callback, 0 }, @@ -700,9 +703,11 @@ static GimpItemFactoryEntry layers_entries[] = NULL, NULL }, { { N_("/Layer Boundary Size..."), "R", layers_dialog_resize_layer_callback, 0 }, "dialogs/resize_layer.html", NULL }, + { { N_("/Resize to Image"), NULL, layers_dialog_resize_to_image_callback, 0 }, + "resize_to_image.html", NULL }, { { N_("/Scale Layer..."), "S", layers_dialog_scale_layer_callback, 0 }, "dialogs/scale_layer.html", NULL }, - + { { "/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Merge Visible Layers..."), "M", layers_dialog_merge_layers_callback, 0 }, diff --git a/app/menus/menus.c b/app/menus/menus.c index dfe6b5f88d..c12e138453 100644 --- a/app/menus/menus.c +++ b/app/menus/menus.c @@ -494,6 +494,9 @@ static GimpItemFactoryEntry image_entries[] = { { N_("/Layers/Rotate"), NULL, NULL, 0, "" }, NULL, NULL }, + { { N_("/Layers/Resize to Image"), NULL, layers_resize_to_image_cmd_callback, 0 }, + "layers/resize_to_image.html", NULL }, + { { "/Layers/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Layers/Anchor Layer"), "H", layers_anchor_cmd_callback, 0 }, @@ -700,9 +703,11 @@ static GimpItemFactoryEntry layers_entries[] = NULL, NULL }, { { N_("/Layer Boundary Size..."), "R", layers_dialog_resize_layer_callback, 0 }, "dialogs/resize_layer.html", NULL }, + { { N_("/Resize to Image"), NULL, layers_dialog_resize_to_image_callback, 0 }, + "resize_to_image.html", NULL }, { { N_("/Scale Layer..."), "S", layers_dialog_scale_layer_callback, 0 }, "dialogs/scale_layer.html", NULL }, - + { { "/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Merge Visible Layers..."), "M", layers_dialog_merge_layers_callback, 0 }, diff --git a/app/nav_window.h b/app/nav_window.h index 662b9745cb..9d274f176c 100644 --- a/app/nav_window.h +++ b/app/nav_window.h @@ -21,15 +21,16 @@ #include "info_dialog.h" -InfoDialog *nav_window_create (void *); -void nav_window_free (GDisplay *,InfoDialog *); -void nav_window_update_window_marker(InfoDialog *); -void nav_dialog_popup (InfoDialog *idialog); -void nav_window_preview_resized (InfoDialog *idialog); +InfoDialog *nav_window_create (void *); +void nav_window_free (GDisplay *,InfoDialog *); +void nav_window_update_window_marker (InfoDialog *); +void nav_dialog_popup (InfoDialog *idialog); +void nav_window_preview_resized (InfoDialog *idialog); void nav_window_popup_preview_resized (GtkWidget **widget); +void nav_window_follow_auto (void); /* popup functions */ -void nav_popup_click_handler(GtkWidget *widget, GdkEventButton *event, gpointer data); -void nav_popup_free(GtkWidget *widget); +void nav_popup_click_handler (GtkWidget *widget, GdkEventButton *event, gpointer data); +void nav_popup_free (GtkWidget *widget); #endif /* __NAV_WINDOW_H__ */ diff --git a/app/tools/bezier_select.c b/app/tools/bezier_select.c index 292c106290..b708e6ab5e 100644 --- a/app/tools/bezier_select.c +++ b/app/tools/bezier_select.c @@ -32,6 +32,7 @@ #include "bezier_selectP.h" #include "paths_dialogP.h" #include "selection_options.h" +#include "undo.h" #include "libgimp/gimpintl.h" #include "libgimp/gimpmath.h" diff --git a/app/widgets/gimpitemfactory.c b/app/widgets/gimpitemfactory.c index dfe6b5f88d..c12e138453 100644 --- a/app/widgets/gimpitemfactory.c +++ b/app/widgets/gimpitemfactory.c @@ -494,6 +494,9 @@ static GimpItemFactoryEntry image_entries[] = { { N_("/Layers/Rotate"), NULL, NULL, 0, "" }, NULL, NULL }, + { { N_("/Layers/Resize to Image"), NULL, layers_resize_to_image_cmd_callback, 0 }, + "layers/resize_to_image.html", NULL }, + { { "/Layers/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Layers/Anchor Layer"), "H", layers_anchor_cmd_callback, 0 }, @@ -700,9 +703,11 @@ static GimpItemFactoryEntry layers_entries[] = NULL, NULL }, { { N_("/Layer Boundary Size..."), "R", layers_dialog_resize_layer_callback, 0 }, "dialogs/resize_layer.html", NULL }, + { { N_("/Resize to Image"), NULL, layers_dialog_resize_to_image_callback, 0 }, + "resize_to_image.html", NULL }, { { N_("/Scale Layer..."), "S", layers_dialog_scale_layer_callback, 0 }, "dialogs/scale_layer.html", NULL }, - + { { "/---", NULL, NULL, 0, "" }, NULL, NULL }, { { N_("/Merge Visible Layers..."), "M", layers_dialog_merge_layers_callback, 0 },