reworked autoresize to work with render area #25
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The previous autoresize functionality wasn't very flexible, as it was tied to window size as opposed to render_area size. Any layout other than complete fullscreen meant that the dimensions provided by crossterm resize events wouldn't be the same as the area the RatatuiCameraWidget would be rendered in.
autoresize_fn
was provided as a workaround to adjust the dimensions proportionally after the fact, but it is unnecessary manual work for the user when 99% of the time people just want the render texture to fill the ratatui areaRect
that it's being rendered in.That autoresize functionality has been removed and replaced by a new way to resize each frame:
RatatuiCameraWidget::render_autoresize(...)
.Just call
render_autoresize
in your draw function instead ofrender
and any frame where there is a size mismatch, rendering will be skipped and a resize will be triggered instead.