X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Flayout%2FStretchLayoutManager.java;h=4bcb0cffc4c29e3a6cb088efa7a8afa8f5c4bebd;hb=505be508ae7d3fb48122be548b310a238cfb91eb;hp=0ae7dff396be3ad685619f70d0a20dcea50cde31;hpb=fc2af49443133106c95da9aaf8b7126be8c7dedd;p=fanfix.git diff --git a/src/jexer/layout/StretchLayoutManager.java b/src/jexer/layout/StretchLayoutManager.java index 0ae7dff..4bcb0cf 100644 --- a/src/jexer/layout/StretchLayoutManager.java +++ b/src/jexer/layout/StretchLayoutManager.java @@ -126,6 +126,16 @@ public class StretchLayoutManager implements LayoutManager { layoutChildren(); } + /** + * Reset a child widget's original/preferred size. + * + * @param child the widget to manage + */ + public void resetSize(final TWidget child) { + // For this layout, adding is the same as replacing. + add(child); + } + // ------------------------------------------------------------------------ // StretchLayoutManager --------------------------------------------------- // ------------------------------------------------------------------------ @@ -134,13 +144,13 @@ public class StretchLayoutManager implements LayoutManager { * Resize/reposition child widgets based on difference between current * dimensions and the original dimensions. */ - public void layoutChildren() { + private void layoutChildren() { double widthRatio = (double) width / originalWidth; - if (!Double.isFinite(widthRatio)) { + if (Math.abs(widthRatio) > Double.MAX_VALUE) { widthRatio = 1; } double heightRatio = (double) height / originalHeight; - if (!Double.isFinite(heightRatio)) { + if (Math.abs(heightRatio) > Double.MAX_VALUE) { heightRatio = 1; } for (TWidget child: children.keySet()) {