escape-llc/yet-another-chart-component

Layout enhancements

Closed this issue · 0 comments

Summary

The layout phase must be aware of the overall size of the Chart bounds, and refuse to allocate excessive space to claims.

This effect is acute when displaying on the small screen of a phone platform.

Actual Behavior

The claims for space may exceed the bounds, and ultimately generate an ArgumentException when attempting to create a Rect with negative size.

Even if there is no overflow, claims may result in an undesirably small data area.

Expected Behavior

The layout phase places limits on amount of space a claim makes, and only grants up to the limit. It should attempt to preserve majority of space for the data area.

There should also be error info generated.

Additional Details

Any IRequireLayout implementation must be able to detect whether it got short-changed on its claim, and react accordingly.

For example an axis may not have sufficient space to display labels, and may suppress them.