View Issue Details

IDProjectCategoryView StatusLast Update
0003545NoesisGUIStudiopublic2024-08-12 17:42
Reporterdstewart Assigned Tosfernandez  
PrioritynormalSeverityminor 
Status resolvedResolutionfixed 
Product VersionStudio_Path 
Target VersionStudio_PathFixed in VersionStudio_Path 
Summary0003545: Compound Path Bounding Boxes Struggle to Size Appropriately Around Strokes
Description

Currently, a Bounding Box will constrain as tight as possible to the Path (including size of shape + its thickness, if applicable).

However, if the Path is a Compound Path with Curves, the Bounding Box struggles to take into account the Stroke Thickness, and doesn't re-adjust its own Bounding Box as necessary to include the entire shape and its Stroke.

Steps To Reproduce

Repro Steps:

1) Create a Page
2) Introduce a StackPanel under the Root Grid. Set the StackPanel's Orientation to Horizontal, and set its Horizontal and Vertical Alignments to 'Center' so that it constrains to the size of the content within.
3) Ensure that the RootGrid is Horizontal and Vertical 'Center' aligned too.

4) Introduce a Rectangle into the StackPanel, make it of dimension 512x512, and set its Stroke Thickness to '0'.
5) Right-Click on the Rectangle and from the context menu, select 'Path' then 'Convert to Path'
6) With the Path Selection Tool (A) armed, click on a corner Path Point, then hold [Ctrl] and click-and-drag to curve one of the corners of the square.

7) If the Margins of the Path have changed as a result of this manipulation, reset them to 0. (also ensure that the StackPanel and the RootGrid have not had their margins adjusted either)

8) Increase the Thickness of the Stroke to a large, nice and chunky value. This will change the margins of the Path.

Observe how the Bounding Box of the is perfectly form-fitting to the size of the inner shape, and the outer Thickness.

9) Reset the margins of the Path to '0'.

10) Reset the Thickness of the Path to '0'.

11) Duplicate the Path using [Ctrl+D] in the Navigator. Because this Path was inserted into a StackPanel, you will now have two Paths perfectly side-by-side.

12) Select ONE of the Paths, and give it a large, visible Thickness again. This will introduce some unwanted margins that will disrupt the alignment of the two Paths.

13) Reset the margins of the modified Path to '0'.

Observe how the Bounding Box of the StackPanel is correctly fitting around the widest point of the two Paths.

13) Reset the Thickness of the modified Path to '0'.

14) Select both Paths by holding [Ctrl] and clicking on each of them in the Navigator.

15) With both of them selected, right-click on one of them, and from the 'Path' context menu, select 'Make Compound Path'.

16) Select the Compound Path, and for the final time, give it a nice chunky visible Thickness.

Observe how the Path's Bounding Box clips the shape (Attached image) and unlike the other two examples, is not 'form-fitting' to the actual Path+Thickness.

Expected Results: A Compound Path's Bounding Box constrains to the size of its content within, just like it does for a regular Path in which this functions.

Attached Files
PlatformAny

Activities

Issue History

Date Modified Username Field Change
2024-07-22 16:09 dstewart New Issue
2024-07-22 16:09 dstewart File Added: CompoundPathStrokeBoundingBox.jpg
2024-07-25 12:48 jsantos Assigned To => dfranjic
2024-07-25 12:48 jsantos Status new => assigned
2024-07-25 12:48 jsantos Target Version => Studio_Path
2024-08-12 17:42 sfernandez Assigned To dfranjic => sfernandez
2024-08-12 17:42 sfernandez Status assigned => resolved
2024-08-12 17:42 sfernandez Resolution open => fixed
2024-08-12 17:42 sfernandez Fixed in Version => Studio_Path