A (TImageEnView) property to help in programmatically resizing a layer with keeping aspect-ratio could be declared as:
TIELayersResizeAROptions = Set of (lrarShapeSize,
lrarBorderWidth,
lrarFontSize);
So when LayersResizeAROptions = [lrarShapeSize, lrarBorderWidth]
then when changing the shape-size will automatically change the border-width by keeping aspect-ratio and vice-versa.
Or when LayersResizeAROptions = [lrarShapeSize, lrarBorderWidth, lrarFontSize]
then when changing the text-layer's font-size will automatically change the layer's shape-size and its border-width by keeping aspect-ratio, and vice-versa.
That of course implicates that when lrarShapeSize is included in LayersResizeAROptions then when changing just the shape-WIDTH, it will automatically change shape-HEIGHT by keeping the aspect ratio!
An alternative would be declaring TIELayersResizeAROptions as:
TIELayersResizeAROptions = Set of (lrarShapeWidth,
lrarShapeHeight,
lrarBorderWidth,
lrarFontSize);
The Default value of LayersResizeAROptions would be: [lrarShapeWidth, lrarShapeHeight]
which would fit the current behavior of aspect-ratio layer-resizing.
What do you think?