mirror of https://github.com/GNOME/gimp.git
removed warnings, cleaned up the source, unmarked
internal error messages for translation --Sven
This commit is contained in:
parent
0e0cb8b555
commit
1bd3c65443
|
@ -1,6 +1,12 @@
|
||||||
|
Sun Feb 27 13:07:31 CET 2000 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
|
* app/gimpimage.c
|
||||||
|
* app/layer.c: removed warnings, cleaned up the source,
|
||||||
|
unmarked internal error messages for translation
|
||||||
|
|
||||||
Sat Feb 26 23:58:27 GMT 2000 Andy Thomas <alt@gimp.org>
|
Sat Feb 26 23:58:27 GMT 2000 Andy Thomas <alt@gimp.org>
|
||||||
|
|
||||||
* gimp/app/nav_window.c
|
* gimp/app/nav_window.c
|
||||||
|
|
||||||
Now takes note of the users set preview size when close to the
|
Now takes note of the users set preview size when close to the
|
||||||
edge of the screen.
|
edge of the screen.
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -346,7 +346,7 @@ layer_copy (Layer *layer,
|
||||||
new_type, layer_name, layer->opacity, layer->mode);
|
new_type, layer_name, layer->opacity, layer->mode);
|
||||||
if (!new_layer)
|
if (!new_layer)
|
||||||
{
|
{
|
||||||
g_message (_("layer_copy: could not allocate new layer"));
|
g_message ("layer_copy: could not allocate new layer");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ layer_new_from_tiles (GimpImage *gimage,
|
||||||
|
|
||||||
if (!new_layer)
|
if (!new_layer)
|
||||||
{
|
{
|
||||||
g_message (_("layer_new_from_tiles: could not allocate new layer"));
|
g_message ("layer_new_from_tiles: could not allocate new layer");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,7 +628,8 @@ layer_translate_lowlevel (Layer *layer,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update the affected region */
|
/* update the affected region */
|
||||||
drawable_update (GIMP_DRAWABLE(layer), 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
drawable_update (GIMP_DRAWABLE(layer), 0, 0,
|
||||||
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
if (!temporary)
|
if (!temporary)
|
||||||
{
|
{
|
||||||
|
@ -739,7 +740,8 @@ layer_scale_lowlevel(Layer *layer,
|
||||||
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
/* Configure the pixel regions */
|
/* Configure the pixel regions */
|
||||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0,
|
||||||
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||||
|
|
||||||
/* Allocate the new layer, configure dest region */
|
/* Allocate the new layer, configure dest region */
|
||||||
new_tiles = tile_manager_new (new_width, new_height, GIMP_DRAWABLE(layer)->bytes);
|
new_tiles = tile_manager_new (new_width, new_height, GIMP_DRAWABLE(layer)->bytes);
|
||||||
|
@ -786,18 +788,20 @@ layer_scale_lowlevel(Layer *layer,
|
||||||
* @layer: Layer to check
|
* @layer: Layer to check
|
||||||
* @new_width: proposed width of layer, in pixels
|
* @new_width: proposed width of layer, in pixels
|
||||||
* @new_height: proposed height of layer, in pixels
|
* @new_height: proposed height of layer, in pixels
|
||||||
|
*
|
||||||
* Scales layer dimensions, then snaps them to pixel centers
|
* Scales layer dimensions, then snaps them to pixel centers
|
||||||
|
*
|
||||||
* Returns FALSE if any dimension reduces to zero as a result
|
* Returns FALSE if any dimension reduces to zero as a result
|
||||||
* of this; otherwise, returns TRUE.
|
* of this; otherwise, returns TRUE.
|
||||||
*/
|
*/
|
||||||
|
gboolean
|
||||||
gboolean layer_check_scaling (Layer *layer,
|
layer_check_scaling (Layer *layer,
|
||||||
gint new_width,
|
gint new_width,
|
||||||
gint new_height)
|
gint new_height)
|
||||||
{
|
{
|
||||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||||
gdouble img_scale_w = (gdouble)new_width/(gdouble)gimage->width;
|
gdouble img_scale_w = (gdouble)new_width / (gdouble)gimage->width;
|
||||||
gdouble img_scale_h = (gdouble)new_height/(gdouble)gimage->height;
|
gdouble img_scale_h = (gdouble)new_height / (gdouble)gimage->height;
|
||||||
gint new_layer_width = (gint)(0.5 + img_scale_w * (gdouble)GIMP_DRAWABLE(layer)->width);
|
gint new_layer_width = (gint)(0.5 + img_scale_w * (gdouble)GIMP_DRAWABLE(layer)->width);
|
||||||
gint new_layer_height = (gint)(0.5 + img_scale_h * (gdouble)GIMP_DRAWABLE(layer)->height);
|
gint new_layer_height = (gint)(0.5 + img_scale_h * (gdouble)GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
|
@ -826,24 +830,23 @@ gboolean layer_check_scaling (Layer *layer,
|
||||||
* Use layer_scale() in circumstances where new layer width
|
* Use layer_scale() in circumstances where new layer width
|
||||||
* and height dimensions are predetermined instead.
|
* and height dimensions are predetermined instead.
|
||||||
*
|
*
|
||||||
* #Returns: TRUE, if the scaled layer has positive dimensions
|
* Side effects: Undo set created for layer. Old layer imagery
|
||||||
* FALSE if the scaled layer has at least one zero dimension
|
* scaled & painted to new layer tiles.
|
||||||
*
|
*
|
||||||
* #Side effects: undo set created for layer.
|
* Returns: TRUE, if the scaled layer has positive dimensions
|
||||||
* Old layer imagery scaled
|
* FALSE if the scaled layer has at least one zero dimension
|
||||||
* & painted to new layer tiles
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
layer_scale_by_factors(Layer *layer,
|
layer_scale_by_factors (Layer *layer,
|
||||||
gdouble w_factor,
|
gdouble w_factor,
|
||||||
gdouble h_factor)
|
gdouble h_factor)
|
||||||
{
|
{
|
||||||
gint new_width, new_height, new_offset_x, new_offset_y;
|
gint new_width, new_height;
|
||||||
|
gint new_offset_x, new_offset_y;
|
||||||
|
|
||||||
if (w_factor == 0.0 || h_factor == 0.0)
|
if (w_factor == 0.0 || h_factor == 0.0)
|
||||||
{
|
{
|
||||||
g_message(_("layer_scale_by_factors: Error. Requested width or height scale equals zero."));
|
g_message ("layer_scale_by_factors: Error. Requested width or height scale equals zero.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,9 +855,9 @@ layer_scale_by_factors(Layer *layer,
|
||||||
new_width = (gint)(0.5 + w_factor * (gdouble)GIMP_DRAWABLE(layer)->width);
|
new_width = (gint)(0.5 + w_factor * (gdouble)GIMP_DRAWABLE(layer)->width);
|
||||||
new_height = (gint)(0.5 + h_factor * (gdouble)GIMP_DRAWABLE(layer)->height);
|
new_height = (gint)(0.5 + h_factor * (gdouble)GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
if(new_width != 0 && new_height != 0)
|
if (new_width != 0 && new_height != 0)
|
||||||
{
|
{
|
||||||
layer_scale_lowlevel(layer, new_width, new_height, new_offset_x, new_offset_y);
|
layer_scale_lowlevel (layer, new_width, new_height, new_offset_x, new_offset_y);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -888,7 +891,6 @@ layer_scale_by_factors(Layer *layer,
|
||||||
* Old layer imagery scaled
|
* Old layer imagery scaled
|
||||||
* & painted to new layer tiles
|
* & painted to new layer tiles
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
layer_scale (Layer *layer,
|
layer_scale (Layer *layer,
|
||||||
gint new_width,
|
gint new_width,
|
||||||
|
@ -899,20 +901,24 @@ layer_scale (Layer *layer,
|
||||||
|
|
||||||
if (new_width == 0 || new_height == 0)
|
if (new_width == 0 || new_height == 0)
|
||||||
{
|
{
|
||||||
g_message(_("layer_scale: Error. Requested width or height equals zero."));
|
g_message ("layer_scale: Error. Requested width or height equals zero.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (local_origin)
|
if (local_origin)
|
||||||
{
|
{
|
||||||
new_offset_x = GIMP_DRAWABLE(layer)->offset_x + ((GIMP_DRAWABLE(layer)->width - new_width)/2.0);
|
new_offset_x = GIMP_DRAWABLE(layer)->offset_x +
|
||||||
new_offset_y = GIMP_DRAWABLE(layer)->offset_y + ((GIMP_DRAWABLE(layer)->height - new_height)/2.0);
|
((GIMP_DRAWABLE(layer)->width - new_width) / 2.0);
|
||||||
|
new_offset_y = GIMP_DRAWABLE(layer)->offset_y +
|
||||||
|
((GIMP_DRAWABLE(layer)->height - new_height) / 2.0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new_offset_x = (gint)(((gdouble) new_width * GIMP_DRAWABLE(layer)->offset_x/(gdouble) GIMP_DRAWABLE(layer)->width));
|
new_offset_x = (gint)(((gdouble) new_width *
|
||||||
new_offset_y = (gint)(((gdouble) new_height * GIMP_DRAWABLE(layer)->offset_y/(gdouble) GIMP_DRAWABLE(layer)->height));
|
GIMP_DRAWABLE(layer)->offset_x / (gdouble) GIMP_DRAWABLE(layer)->width));
|
||||||
|
new_offset_y = (gint)(((gdouble) new_height *
|
||||||
|
GIMP_DRAWABLE(layer)->offset_y / (gdouble) GIMP_DRAWABLE(layer)->height));
|
||||||
}
|
}
|
||||||
layer_scale_lowlevel(layer, new_width, new_height, new_offset_x, new_offset_y);
|
layer_scale_lowlevel (layer, new_width, new_height, new_offset_x, new_offset_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,18 +532,16 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
Layer *layer;
|
Layer *layer;
|
||||||
Layer *floating_layer;
|
Layer *floating_layer;
|
||||||
GSList *list;
|
GSList *list;
|
||||||
GSList *marklist = NULL;
|
GSList *remove = NULL;
|
||||||
GList *glist;
|
GList *glist;
|
||||||
Guide *guide;
|
Guide *guide;
|
||||||
gint old_width, old_height;
|
gint old_width, old_height;
|
||||||
gint old_offset_x, old_offset_y;
|
|
||||||
gint layer_width, layer_height;
|
|
||||||
gdouble img_scale_w = 1.0;
|
gdouble img_scale_w = 1.0;
|
||||||
gdouble img_scale_h = 1.0;
|
gdouble img_scale_h = 1.0;
|
||||||
|
|
||||||
if((new_width == 0) || (new_height == 0))
|
if ((new_width == 0) || (new_height == 0))
|
||||||
{
|
{
|
||||||
g_message(_("gimp_image_scale: Layer with zero width or height has been rejected."));
|
g_message (("gimp_image_scale: Scaling to zero width or height has been rejected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,16 +565,14 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
old_height = gimage->height;
|
old_height = gimage->height;
|
||||||
gimage->width = new_width;
|
gimage->width = new_width;
|
||||||
gimage->height = new_height;
|
gimage->height = new_height;
|
||||||
img_scale_w = (gdouble)new_width/(gdouble)old_width;
|
img_scale_w = (gdouble)new_width / (gdouble)old_width;
|
||||||
img_scale_h = (gdouble)new_height/(gdouble)old_height;
|
img_scale_h = (gdouble)new_height / (gdouble)old_height;
|
||||||
|
|
||||||
/* Scale all channels */
|
/* Scale all channels */
|
||||||
list = gimage->channels;
|
for (list = gimage->channels; list; list = g_slist_next (list))
|
||||||
while (list)
|
|
||||||
{
|
{
|
||||||
channel = (Channel *) list->data;
|
channel = (Channel *) list->data;
|
||||||
channel_scale (channel, new_width, new_height);
|
channel_scale (channel, new_width, new_height);
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't forget the selection mask! */
|
/* Don't forget the selection mask! */
|
||||||
|
@ -585,40 +581,34 @@ gimp_image_scale (GimpImage *gimage,
|
||||||
|
|
||||||
/* Scale all layers */
|
/* Scale all layers */
|
||||||
list = gimage->layers;
|
list = gimage->layers;
|
||||||
while (list)
|
for (list = gimage->layers; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
layer = (Layer *) list->data;
|
layer = (Layer *) list->data;
|
||||||
if(FALSE == layer_scale_by_factors(layer, img_scale_w, img_scale_h))
|
if (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 */
|
/* Since 0 < img_scale_w, img_scale_h, failure due to one or more */
|
||||||
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
/* vanishing scaled layer dimensions. Implicit delete implemented */
|
||||||
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
/* here. Upstream warning implemented in resize_check_layer_scaling() */
|
||||||
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
/* [resize.c line 1295], which offers the user the chance to bail out.*/
|
||||||
|
|
||||||
marklist = g_list_append(marklist, layer);
|
remove = g_slist_append (remove, layer);
|
||||||
}
|
}
|
||||||
list = g_slist_next (list);
|
|
||||||
}
|
}
|
||||||
/* We defer removing layers lost to scaling until now */
|
/* We defer removing layers lost to scaling until now */
|
||||||
/* so as not to mix the operations of iterating over and removal */
|
/* so as not to mix the operations of iterating over and removal */
|
||||||
/* from gimage->layers. */
|
/* from gimage->layers. */
|
||||||
|
|
||||||
if(marklist != NULL)
|
for (list = remove; list; list = g_slist_next (list))
|
||||||
{
|
{
|
||||||
while(marklist)
|
layer = remove->data;
|
||||||
{
|
gimage_remove_layer (gimage, layer);
|
||||||
layer = marklist->data;
|
|
||||||
gimage_remove_layer(gimage, layer);
|
|
||||||
marklist = g_slist_remove(marklist, layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
g_slist_free (remove);
|
||||||
|
|
||||||
/* Scale any Guides */
|
/* Scale any Guides */
|
||||||
glist = gimage->guides;
|
for (glist = gimage->guides; glist; glist = g_list_next (glist))
|
||||||
while (glist)
|
|
||||||
{
|
{
|
||||||
guide = (Guide*) glist->data;
|
guide = (Guide*) glist->data;
|
||||||
glist = g_list_next (glist);
|
|
||||||
|
|
||||||
switch (guide->orientation)
|
switch (guide->orientation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -346,7 +346,7 @@ layer_copy (Layer *layer,
|
||||||
new_type, layer_name, layer->opacity, layer->mode);
|
new_type, layer_name, layer->opacity, layer->mode);
|
||||||
if (!new_layer)
|
if (!new_layer)
|
||||||
{
|
{
|
||||||
g_message (_("layer_copy: could not allocate new layer"));
|
g_message ("layer_copy: could not allocate new layer");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ layer_new_from_tiles (GimpImage *gimage,
|
||||||
|
|
||||||
if (!new_layer)
|
if (!new_layer)
|
||||||
{
|
{
|
||||||
g_message (_("layer_new_from_tiles: could not allocate new layer"));
|
g_message ("layer_new_from_tiles: could not allocate new layer");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,7 +628,8 @@ layer_translate_lowlevel (Layer *layer,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update the affected region */
|
/* update the affected region */
|
||||||
drawable_update (GIMP_DRAWABLE(layer), 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
drawable_update (GIMP_DRAWABLE(layer), 0, 0,
|
||||||
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
if (!temporary)
|
if (!temporary)
|
||||||
{
|
{
|
||||||
|
@ -739,7 +740,8 @@ layer_scale_lowlevel(Layer *layer,
|
||||||
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
/* Configure the pixel regions */
|
/* Configure the pixel regions */
|
||||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0,
|
||||||
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||||
|
|
||||||
/* Allocate the new layer, configure dest region */
|
/* Allocate the new layer, configure dest region */
|
||||||
new_tiles = tile_manager_new (new_width, new_height, GIMP_DRAWABLE(layer)->bytes);
|
new_tiles = tile_manager_new (new_width, new_height, GIMP_DRAWABLE(layer)->bytes);
|
||||||
|
@ -786,18 +788,20 @@ layer_scale_lowlevel(Layer *layer,
|
||||||
* @layer: Layer to check
|
* @layer: Layer to check
|
||||||
* @new_width: proposed width of layer, in pixels
|
* @new_width: proposed width of layer, in pixels
|
||||||
* @new_height: proposed height of layer, in pixels
|
* @new_height: proposed height of layer, in pixels
|
||||||
|
*
|
||||||
* Scales layer dimensions, then snaps them to pixel centers
|
* Scales layer dimensions, then snaps them to pixel centers
|
||||||
|
*
|
||||||
* Returns FALSE if any dimension reduces to zero as a result
|
* Returns FALSE if any dimension reduces to zero as a result
|
||||||
* of this; otherwise, returns TRUE.
|
* of this; otherwise, returns TRUE.
|
||||||
*/
|
*/
|
||||||
|
gboolean
|
||||||
gboolean layer_check_scaling (Layer *layer,
|
layer_check_scaling (Layer *layer,
|
||||||
gint new_width,
|
gint new_width,
|
||||||
gint new_height)
|
gint new_height)
|
||||||
{
|
{
|
||||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||||
gdouble img_scale_w = (gdouble)new_width/(gdouble)gimage->width;
|
gdouble img_scale_w = (gdouble)new_width / (gdouble)gimage->width;
|
||||||
gdouble img_scale_h = (gdouble)new_height/(gdouble)gimage->height;
|
gdouble img_scale_h = (gdouble)new_height / (gdouble)gimage->height;
|
||||||
gint new_layer_width = (gint)(0.5 + img_scale_w * (gdouble)GIMP_DRAWABLE(layer)->width);
|
gint new_layer_width = (gint)(0.5 + img_scale_w * (gdouble)GIMP_DRAWABLE(layer)->width);
|
||||||
gint new_layer_height = (gint)(0.5 + img_scale_h * (gdouble)GIMP_DRAWABLE(layer)->height);
|
gint new_layer_height = (gint)(0.5 + img_scale_h * (gdouble)GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
|
@ -826,24 +830,23 @@ gboolean layer_check_scaling (Layer *layer,
|
||||||
* Use layer_scale() in circumstances where new layer width
|
* Use layer_scale() in circumstances where new layer width
|
||||||
* and height dimensions are predetermined instead.
|
* and height dimensions are predetermined instead.
|
||||||
*
|
*
|
||||||
* #Returns: TRUE, if the scaled layer has positive dimensions
|
* Side effects: Undo set created for layer. Old layer imagery
|
||||||
* FALSE if the scaled layer has at least one zero dimension
|
* scaled & painted to new layer tiles.
|
||||||
*
|
*
|
||||||
* #Side effects: undo set created for layer.
|
* Returns: TRUE, if the scaled layer has positive dimensions
|
||||||
* Old layer imagery scaled
|
* FALSE if the scaled layer has at least one zero dimension
|
||||||
* & painted to new layer tiles
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
layer_scale_by_factors(Layer *layer,
|
layer_scale_by_factors (Layer *layer,
|
||||||
gdouble w_factor,
|
gdouble w_factor,
|
||||||
gdouble h_factor)
|
gdouble h_factor)
|
||||||
{
|
{
|
||||||
gint new_width, new_height, new_offset_x, new_offset_y;
|
gint new_width, new_height;
|
||||||
|
gint new_offset_x, new_offset_y;
|
||||||
|
|
||||||
if (w_factor == 0.0 || h_factor == 0.0)
|
if (w_factor == 0.0 || h_factor == 0.0)
|
||||||
{
|
{
|
||||||
g_message(_("layer_scale_by_factors: Error. Requested width or height scale equals zero."));
|
g_message ("layer_scale_by_factors: Error. Requested width or height scale equals zero.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,9 +855,9 @@ layer_scale_by_factors(Layer *layer,
|
||||||
new_width = (gint)(0.5 + w_factor * (gdouble)GIMP_DRAWABLE(layer)->width);
|
new_width = (gint)(0.5 + w_factor * (gdouble)GIMP_DRAWABLE(layer)->width);
|
||||||
new_height = (gint)(0.5 + h_factor * (gdouble)GIMP_DRAWABLE(layer)->height);
|
new_height = (gint)(0.5 + h_factor * (gdouble)GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
if(new_width != 0 && new_height != 0)
|
if (new_width != 0 && new_height != 0)
|
||||||
{
|
{
|
||||||
layer_scale_lowlevel(layer, new_width, new_height, new_offset_x, new_offset_y);
|
layer_scale_lowlevel (layer, new_width, new_height, new_offset_x, new_offset_y);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -888,7 +891,6 @@ layer_scale_by_factors(Layer *layer,
|
||||||
* Old layer imagery scaled
|
* Old layer imagery scaled
|
||||||
* & painted to new layer tiles
|
* & painted to new layer tiles
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
layer_scale (Layer *layer,
|
layer_scale (Layer *layer,
|
||||||
gint new_width,
|
gint new_width,
|
||||||
|
@ -899,20 +901,24 @@ layer_scale (Layer *layer,
|
||||||
|
|
||||||
if (new_width == 0 || new_height == 0)
|
if (new_width == 0 || new_height == 0)
|
||||||
{
|
{
|
||||||
g_message(_("layer_scale: Error. Requested width or height equals zero."));
|
g_message ("layer_scale: Error. Requested width or height equals zero.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (local_origin)
|
if (local_origin)
|
||||||
{
|
{
|
||||||
new_offset_x = GIMP_DRAWABLE(layer)->offset_x + ((GIMP_DRAWABLE(layer)->width - new_width)/2.0);
|
new_offset_x = GIMP_DRAWABLE(layer)->offset_x +
|
||||||
new_offset_y = GIMP_DRAWABLE(layer)->offset_y + ((GIMP_DRAWABLE(layer)->height - new_height)/2.0);
|
((GIMP_DRAWABLE(layer)->width - new_width) / 2.0);
|
||||||
|
new_offset_y = GIMP_DRAWABLE(layer)->offset_y +
|
||||||
|
((GIMP_DRAWABLE(layer)->height - new_height) / 2.0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new_offset_x = (gint)(((gdouble) new_width * GIMP_DRAWABLE(layer)->offset_x/(gdouble) GIMP_DRAWABLE(layer)->width));
|
new_offset_x = (gint)(((gdouble) new_width *
|
||||||
new_offset_y = (gint)(((gdouble) new_height * GIMP_DRAWABLE(layer)->offset_y/(gdouble) GIMP_DRAWABLE(layer)->height));
|
GIMP_DRAWABLE(layer)->offset_x / (gdouble) GIMP_DRAWABLE(layer)->width));
|
||||||
|
new_offset_y = (gint)(((gdouble) new_height *
|
||||||
|
GIMP_DRAWABLE(layer)->offset_y / (gdouble) GIMP_DRAWABLE(layer)->height));
|
||||||
}
|
}
|
||||||
layer_scale_lowlevel(layer, new_width, new_height, new_offset_x, new_offset_y);
|
layer_scale_lowlevel (layer, new_width, new_height, new_offset_x, new_offset_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
68
app/layer.c
68
app/layer.c
|
@ -346,7 +346,7 @@ layer_copy (Layer *layer,
|
||||||
new_type, layer_name, layer->opacity, layer->mode);
|
new_type, layer_name, layer->opacity, layer->mode);
|
||||||
if (!new_layer)
|
if (!new_layer)
|
||||||
{
|
{
|
||||||
g_message (_("layer_copy: could not allocate new layer"));
|
g_message ("layer_copy: could not allocate new layer");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ layer_new_from_tiles (GimpImage *gimage,
|
||||||
|
|
||||||
if (!new_layer)
|
if (!new_layer)
|
||||||
{
|
{
|
||||||
g_message (_("layer_new_from_tiles: could not allocate new layer"));
|
g_message ("layer_new_from_tiles: could not allocate new layer");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,7 +628,8 @@ layer_translate_lowlevel (Layer *layer,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update the affected region */
|
/* update the affected region */
|
||||||
drawable_update (GIMP_DRAWABLE(layer), 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
drawable_update (GIMP_DRAWABLE(layer), 0, 0,
|
||||||
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
if (!temporary)
|
if (!temporary)
|
||||||
{
|
{
|
||||||
|
@ -739,7 +740,8 @@ layer_scale_lowlevel(Layer *layer,
|
||||||
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
/* Configure the pixel regions */
|
/* Configure the pixel regions */
|
||||||
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0, GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
pixel_region_init (&srcPR, GIMP_DRAWABLE(layer)->tiles, 0, 0,
|
||||||
|
GIMP_DRAWABLE(layer)->width, GIMP_DRAWABLE(layer)->height, FALSE);
|
||||||
|
|
||||||
/* Allocate the new layer, configure dest region */
|
/* Allocate the new layer, configure dest region */
|
||||||
new_tiles = tile_manager_new (new_width, new_height, GIMP_DRAWABLE(layer)->bytes);
|
new_tiles = tile_manager_new (new_width, new_height, GIMP_DRAWABLE(layer)->bytes);
|
||||||
|
@ -786,18 +788,20 @@ layer_scale_lowlevel(Layer *layer,
|
||||||
* @layer: Layer to check
|
* @layer: Layer to check
|
||||||
* @new_width: proposed width of layer, in pixels
|
* @new_width: proposed width of layer, in pixels
|
||||||
* @new_height: proposed height of layer, in pixels
|
* @new_height: proposed height of layer, in pixels
|
||||||
|
*
|
||||||
* Scales layer dimensions, then snaps them to pixel centers
|
* Scales layer dimensions, then snaps them to pixel centers
|
||||||
|
*
|
||||||
* Returns FALSE if any dimension reduces to zero as a result
|
* Returns FALSE if any dimension reduces to zero as a result
|
||||||
* of this; otherwise, returns TRUE.
|
* of this; otherwise, returns TRUE.
|
||||||
*/
|
*/
|
||||||
|
gboolean
|
||||||
gboolean layer_check_scaling (Layer *layer,
|
layer_check_scaling (Layer *layer,
|
||||||
gint new_width,
|
gint new_width,
|
||||||
gint new_height)
|
gint new_height)
|
||||||
{
|
{
|
||||||
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
GImage *gimage = GIMP_DRAWABLE(layer)->gimage;
|
||||||
gdouble img_scale_w = (gdouble)new_width/(gdouble)gimage->width;
|
gdouble img_scale_w = (gdouble)new_width / (gdouble)gimage->width;
|
||||||
gdouble img_scale_h = (gdouble)new_height/(gdouble)gimage->height;
|
gdouble img_scale_h = (gdouble)new_height / (gdouble)gimage->height;
|
||||||
gint new_layer_width = (gint)(0.5 + img_scale_w * (gdouble)GIMP_DRAWABLE(layer)->width);
|
gint new_layer_width = (gint)(0.5 + img_scale_w * (gdouble)GIMP_DRAWABLE(layer)->width);
|
||||||
gint new_layer_height = (gint)(0.5 + img_scale_h * (gdouble)GIMP_DRAWABLE(layer)->height);
|
gint new_layer_height = (gint)(0.5 + img_scale_h * (gdouble)GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
|
@ -826,24 +830,23 @@ gboolean layer_check_scaling (Layer *layer,
|
||||||
* Use layer_scale() in circumstances where new layer width
|
* Use layer_scale() in circumstances where new layer width
|
||||||
* and height dimensions are predetermined instead.
|
* and height dimensions are predetermined instead.
|
||||||
*
|
*
|
||||||
* #Returns: TRUE, if the scaled layer has positive dimensions
|
* Side effects: Undo set created for layer. Old layer imagery
|
||||||
* FALSE if the scaled layer has at least one zero dimension
|
* scaled & painted to new layer tiles.
|
||||||
*
|
*
|
||||||
* #Side effects: undo set created for layer.
|
* Returns: TRUE, if the scaled layer has positive dimensions
|
||||||
* Old layer imagery scaled
|
* FALSE if the scaled layer has at least one zero dimension
|
||||||
* & painted to new layer tiles
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
layer_scale_by_factors(Layer *layer,
|
layer_scale_by_factors (Layer *layer,
|
||||||
gdouble w_factor,
|
gdouble w_factor,
|
||||||
gdouble h_factor)
|
gdouble h_factor)
|
||||||
{
|
{
|
||||||
gint new_width, new_height, new_offset_x, new_offset_y;
|
gint new_width, new_height;
|
||||||
|
gint new_offset_x, new_offset_y;
|
||||||
|
|
||||||
if (w_factor == 0.0 || h_factor == 0.0)
|
if (w_factor == 0.0 || h_factor == 0.0)
|
||||||
{
|
{
|
||||||
g_message(_("layer_scale_by_factors: Error. Requested width or height scale equals zero."));
|
g_message ("layer_scale_by_factors: Error. Requested width or height scale equals zero.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,9 +855,9 @@ layer_scale_by_factors(Layer *layer,
|
||||||
new_width = (gint)(0.5 + w_factor * (gdouble)GIMP_DRAWABLE(layer)->width);
|
new_width = (gint)(0.5 + w_factor * (gdouble)GIMP_DRAWABLE(layer)->width);
|
||||||
new_height = (gint)(0.5 + h_factor * (gdouble)GIMP_DRAWABLE(layer)->height);
|
new_height = (gint)(0.5 + h_factor * (gdouble)GIMP_DRAWABLE(layer)->height);
|
||||||
|
|
||||||
if(new_width != 0 && new_height != 0)
|
if (new_width != 0 && new_height != 0)
|
||||||
{
|
{
|
||||||
layer_scale_lowlevel(layer, new_width, new_height, new_offset_x, new_offset_y);
|
layer_scale_lowlevel (layer, new_width, new_height, new_offset_x, new_offset_y);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -888,7 +891,6 @@ layer_scale_by_factors(Layer *layer,
|
||||||
* Old layer imagery scaled
|
* Old layer imagery scaled
|
||||||
* & painted to new layer tiles
|
* & painted to new layer tiles
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
layer_scale (Layer *layer,
|
layer_scale (Layer *layer,
|
||||||
gint new_width,
|
gint new_width,
|
||||||
|
@ -899,20 +901,24 @@ layer_scale (Layer *layer,
|
||||||
|
|
||||||
if (new_width == 0 || new_height == 0)
|
if (new_width == 0 || new_height == 0)
|
||||||
{
|
{
|
||||||
g_message(_("layer_scale: Error. Requested width or height equals zero."));
|
g_message ("layer_scale: Error. Requested width or height equals zero.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (local_origin)
|
if (local_origin)
|
||||||
{
|
{
|
||||||
new_offset_x = GIMP_DRAWABLE(layer)->offset_x + ((GIMP_DRAWABLE(layer)->width - new_width)/2.0);
|
new_offset_x = GIMP_DRAWABLE(layer)->offset_x +
|
||||||
new_offset_y = GIMP_DRAWABLE(layer)->offset_y + ((GIMP_DRAWABLE(layer)->height - new_height)/2.0);
|
((GIMP_DRAWABLE(layer)->width - new_width) / 2.0);
|
||||||
|
new_offset_y = GIMP_DRAWABLE(layer)->offset_y +
|
||||||
|
((GIMP_DRAWABLE(layer)->height - new_height) / 2.0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new_offset_x = (gint)(((gdouble) new_width * GIMP_DRAWABLE(layer)->offset_x/(gdouble) GIMP_DRAWABLE(layer)->width));
|
new_offset_x = (gint)(((gdouble) new_width *
|
||||||
new_offset_y = (gint)(((gdouble) new_height * GIMP_DRAWABLE(layer)->offset_y/(gdouble) GIMP_DRAWABLE(layer)->height));
|
GIMP_DRAWABLE(layer)->offset_x / (gdouble) GIMP_DRAWABLE(layer)->width));
|
||||||
|
new_offset_y = (gint)(((gdouble) new_height *
|
||||||
|
GIMP_DRAWABLE(layer)->offset_y / (gdouble) GIMP_DRAWABLE(layer)->height));
|
||||||
}
|
}
|
||||||
layer_scale_lowlevel(layer, new_width, new_height, new_offset_x, new_offset_y);
|
layer_scale_lowlevel (layer, new_width, new_height, new_offset_x, new_offset_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
Sun Feb 27 13:02:22 CET 2000 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
|
* de.po: updated german translation
|
||||||
|
|
||||||
|
Hint for all translators:
|
||||||
|
Do not yet remove the commented out translations for Script-Fu.
|
||||||
|
They will become useful once the Script-Fu domain is created.
|
||||||
|
|
||||||
2000-02-26 Kjartan Maraas <kmaraas@online.no>
|
2000-02-26 Kjartan Maraas <kmaraas@online.no>
|
||||||
|
|
||||||
* no.po: Updated Norwegian translation.
|
* no.po: Updated Norwegian translation.
|
||||||
|
|
Loading…
Reference in New Issue