Returns a LayoutChange with the information necessary to redistribute frames to expand/shrink a certain amount towards the given side.
Changes can be applied to a window with applyFrameChanges.
While it checks for bounds/space issues (unless allowOutOfBounds is true), it does not check that all the frames correctly share/fill the start/end edges.
If you try to resize a layout like this to the right, you will get issues with frame edges not lining up as frame B would be resized less than A. If you had a frame at the empty space that you excluded, it's right edge would no longer align with B's.
See getFrameCollapseInfo and getFrameUncollapseInfo for how to work around this (you must move frames like A to share the edge then move them back). Excluding them from the calcuation usually leads to subtler errors. Such as if there are frames after A and B to the right, excluding A would mean A's right edge would stop aligning with those other frames.
Returns a LayoutChange with the information necessary to redistribute frames to expand/shrink a certain amount towards the given side.
Changes can be applied to a window with applyFrameChanges.
While it checks for bounds/space issues (unless allowOutOfBounds is true), it does not check that all the frames correctly share/fill the start/end edges.
If you try to resize a layout like this to the right, you will get issues with frame edges not lining up as frame B would be resized less than A. If you had a frame at the empty space that you excluded, it's right edge would no longer align with B's.
See getFrameCollapseInfo and getFrameUncollapseInfo for how to work around this (you must move frames like A to share the edge then move them back). Excluding them from the calcuation usually leads to subtler errors. Such as if there are frames after A and B to the right, excluding A would mean A's right edge would stop aligning with those other frames.
┌────────────┐ │A │ └──┬─────────┤ │B │ └─────────┘
Also note that it automatically excludes all collapsed frames without an area (height or width === 0).