Skip to content
  • Ell's avatar
    app: add virtual transform/type-conversion functions to GimpLayer · c83f0e88
    Ell authored
    The GimpLayer implementation of the GimpItem transform functions,
    and the GimpDrawable convert_type() function, apply their operation
    to both the layer and its mask.  The subclasses of GimpLayer --
    GimpGroupLayer and GimpTextLayer -- override some of these
    functions, providing their own logic for the layer part, and
    duplicating the mask part.
    
    Avoid this duplication by adding a set of virtual transform and
    type-conversion functions to GimpLayer.  Have the GimpLayer
    implementaion of the corresponding GimpItem and GimpDrawable
    functions use these functions to apply the operation to the layer,
    while taking care of the mask themselves.  Have GimpLayer's
    subclasses override the new virtual functions, instead of the
    GimpItem and GimpDrawable ones.
    
    Note that the existing implementation of convert_type() in
    GimpTextLayer neglected to convert the mask, hence text layer masks
    retained their old format after conversion.  This issue is fixed as
    a side effect of this commit.
    c83f0e88