On 05/28/2010 08:03 AM, Rob Antonishen wrote: >> Maybe the code for >> >> http://registry.gimp.org/node/19582 >> >> is useful? >> >> Nicolas Robidoux >> > I looked at that one and they simply create a new image with a scaled > version of the active layer, which is sub-optimal from a UI > perspective (the plugin registers under the Image menu, but only > scales one layer, and ends up create a new image). > > The "built-in" scaling options are: > Image->Scale Image which scales all the layers, layer masks, channels > (including the active selection) and paths of the image, not just the > active layer > Layer->Scale Layer which scales the active layer only but does not > change the image canvas size or scale the associated layer mask (is > that a reasonable behavior?). > > > Thinking about it, I guess my initial question really had two parts: > > From a UI perspective: > - should an action like scaling create a new image? (I'm leaning towards no) > - should an action like scaling scale all layers, masks, channels > and paths of an image if it is the image menu (otherwise in the layer > menu)? (I'm leaning towards yes) > - should an action like scaling a layer also scale an associated > layer mask? (yes?) > - with 2.8 having layer groups, will any of this have to change? > From my (quite naive) perspective, it feels like a layer mask should scale with the layer in the Layer menu. I would expect a layer group to scale all layers (and their masks as well, for those layers in the group with an associated mask) in the group proportionately - which implies a Layer Group->Scale menu item. > > From a programming perspective: > - Assuming I have decided my plugin will rescale a layer only (i.e. > from the user's perspective the active layer gets scaled) is it better > to create a new drawable to contain the scaled image and insert it in > the layer stack and delete the initial layer, or better to use > gimp_pixel_rgn_init to grab the pixels from the source layer, then > change the layer boundary size and and use gimp_pixel_rgn_init to > create a second pixel region as an output buffer pointing to the newly > sized drawable? > > -Rob A> > _______________________________________________ > Gimp-developer mailing list > Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx > https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer > > _______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer