Re: Looking for guidance on implementing a plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux