Skip to content

Conversation

@ginkoblongata
Copy link
Contributor

@ginkoblongata ginkoblongata commented Jan 27, 2026

adding test classes for
TerminalSize
TerminalPosition
TerminalRectangle

and usability enhancements
and reduced object churn

…le and usability enhancements and reduced object churn
@ginkoblongata
Copy link
Contributor Author

This merge request is to replace the earlier merge request from March 8, 2024.

These three classes are immutable, and this change is to improve their usability.

The backwards compatibility is retained except for TerminalRectangle.
The extent of that break of backwards compatibility is extremely tiny.
It's changing four public fields to identically named public methods: x(), y(), width() & height().
Also, since that class was only recently added, it's likewise basically not used by anyone yet.

I've reviewed the other pending merge requests, and they are not impacted by this change.

To address the earlier comment of not removing a method getDimension(): that method was only added in a middling commit of that earlier merge request and I opted to leave it out.

This overall change did actually come about while looking to create a LayoutManager, the things for the user to build with would be TerminalSize.of(0,1) or TerminalSize.of(1,0).

@ginkoblongata
Copy link
Contributor Author

ginkoblongata commented Jan 28, 2026

This is the prior merge request for reference: #601.

mentions to prior commenters:
@avl42
@mabe02
@MartyIX

@MartyIX
Copy link
Contributor

MartyIX commented Jan 28, 2026

(Unrelated to your PR: But in general, I fear that somebody will have to create a fork of this project to move the project forward. I hope I'm wrong but perhaps it would be for the best.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants