Merge commit '77d3a60869e7a780c6ae069e51530e1eacece5e2'
[fanfix.git] / src / jexer / layout / StretchLayoutManager.java
index 0ae7dff396be3ad685619f70d0a20dcea50cde31..4bcb0cffc4c29e3a6cb088efa7a8afa8f5c4bebd 100644 (file)
@@ -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()) {