• Ell's avatar
    app: round layer bounds to global pixel grid when scaling image/group · 5763b50d
    Ell authored
    Add gimp_item_scale_by_factors_with_origin(), which is an extension
    of gimp_item_scale_by_factors(), taking the input/output points of
    origin for the transformation (both of which are (0, 0) in the case
    of gimp_item_scale_by_factors()).  Implement
    gimp_item_scale_by_factors() in terms of the new function, and Use
    the new function when scaling group layers, instead of manually
    calculating the children boundaries, so that the behavior is
    uniform across whole-image scaling and group-layer scaling.
    The new function rounds all four edges of the boundary to the
    image-global pixel grid, instead of only rounding the top/left
    edges to the global grid, and the bottom/right edges to the item-
    local grid.  This preserves layer-adjacency when scaling.
gimpgrouplayer.c 74.4 KB