modules/graphics/src/main/java/javafx/scene/layout/TilePane.java

Print this page

        

@@ -797,35 +797,35 @@
         final Insets insets = getInsets();
         int prefCols = 0;
         if (forHeight != -1) {
             // first compute number of rows that will fit in given height and
             // compute pref columns from that
-            int prefRows = computeRows(forHeight - snapSpace(insets.getTop()) - snapSpace(insets.getBottom()), getTileHeight());
+            int prefRows = computeRows(forHeight - snapSpaceY(insets.getTop()) - snapSpaceY(insets.getBottom()), getTileHeight());
             prefCols = computeOther(managed.size(), prefRows);
         } else {
             prefCols = getOrientation() == HORIZONTAL? getPrefColumns() : computeOther(managed.size(), getPrefRows());
         }
-        return snapSpace(insets.getLeft()) +
+        return snapSpaceX(insets.getLeft()) +
                computeContentWidth(prefCols, getTileWidth()) +
-               snapSpace(insets.getRight());
+               snapSpaceX(insets.getRight());
     }
 
     @Override protected double computePrefHeight(double forWidth) {
         List<Node> managed = getManagedChildren();
         final Insets insets = getInsets();
         int prefRows = 0;
         if (forWidth != -1) {
             // first compute number of columns that will fit in given width and
             // compute pref rows from that
-            int prefCols = computeColumns(forWidth - snapSpace(insets.getLeft()) - snapSpace(insets.getRight()), getTileWidth());
+            int prefCols = computeColumns(forWidth - snapSpaceX(insets.getLeft()) - snapSpaceX(insets.getRight()), getTileWidth());
             prefRows = computeOther(managed.size(), prefCols);
         } else {
             prefRows = getOrientation() == HORIZONTAL? computeOther(managed.size(), getPrefColumns()) : getPrefRows();
         }
-        return snapSpace(insets.getTop()) +
+        return snapSpaceY(insets.getTop()) +
                computeContentHeight(prefRows, getTileHeight()) +
-               snapSpace(insets.getBottom());
+               snapSpaceY(insets.getBottom());
     }
 
     private double computeTileWidth() {
         List<Node> managed = getManagedChildren();
         double preftilewidth = getPrefTileWidth();

@@ -841,13 +841,13 @@
             }
             if (vertBias) {
                 // widest may depend on height of tile
                 h = computeMaxPrefAreaHeight(managed, marginAccessor, -1, getTileAlignmentInternal().getVpos());
             }
-            return snapSize(computeMaxPrefAreaWidth(managed, marginAccessor, h, true));
+            return snapSizeX(computeMaxPrefAreaWidth(managed, marginAccessor, h, true));
         }
-        return snapSize(preftilewidth);
+        return snapSizeX(preftilewidth);
     }
 
     private double computeTileHeight() {
         List<Node> managed = getManagedChildren();
         double preftileheight = getPrefTileHeight();

@@ -863,50 +863,52 @@
             }
             if (horizBias) {
                 // tallest may depend on width of tile
                 w = computeMaxPrefAreaWidth(managed, marginAccessor);
             }
-            return snapSize(computeMaxPrefAreaHeight(managed, marginAccessor, w, getTileAlignmentInternal().getVpos()));
+            return snapSizeY(computeMaxPrefAreaHeight(managed, marginAccessor, w, getTileAlignmentInternal().getVpos()));
         }
-        return snapSize(preftileheight);
+        return snapSizeY(preftileheight);
     }
 
     private int computeOther(int numNodes, int numCells) {
         double other = (double)numNodes/(double)Math.max(1, numCells);
         return (int)Math.ceil(other);
     }
 
     private int computeColumns(double width, double tilewidth) {
-        return Math.max(1,(int)((width + snapSpace(getHgap())) / (tilewidth + snapSpace(getHgap()))));
+        double snappedHgap = snapSpaceX(getHgap());
+        return Math.max(1,(int)((width + snappedHgap) / (tilewidth + snappedHgap)));
     }
 
     private int computeRows(double height, double tileheight) {
-        return Math.max(1, (int)((height + snapSpace(getVgap())) / (tileheight + snapSpace(getVgap()))));
+        double snappedVgap = snapSpaceY(getVgap());
+        return Math.max(1, (int)((height + snappedVgap) / (tileheight + snappedVgap)));
     }
 
     private double computeContentWidth(int columns, double tilewidth) {
         if (columns == 0) return 0;
-        return columns * tilewidth + (columns - 1) * snapSpace(getHgap());
+        return columns * tilewidth + (columns - 1) * snapSpaceX(getHgap());
     }
 
     private double computeContentHeight(int rows, double tileheight) {
         if (rows == 0) return 0;
-        return rows * tileheight + (rows - 1) * snapSpace(getVgap());
+        return rows * tileheight + (rows - 1) * snapSpaceY(getVgap());
     }
 
     @Override protected void layoutChildren() {
         List<Node> managed = getManagedChildren();
         HPos hpos = getAlignmentInternal().getHpos();
         VPos vpos = getAlignmentInternal().getVpos();
         double width = getWidth();
         double height = getHeight();
-        double top = snapSpace(getInsets().getTop());
-        double left = snapSpace(getInsets().getLeft());
-        double bottom = snapSpace(getInsets().getBottom());
-        double right = snapSpace(getInsets().getRight());
-        double vgap = snapSpace(getVgap());
-        double hgap = snapSpace(getHgap());
+        double top = snapSpaceY(getInsets().getTop());
+        double left = snapSpaceX(getInsets().getLeft());
+        double bottom = snapSpaceY(getInsets().getBottom());
+        double right = snapSpaceX(getInsets().getRight());
+        double vgap = snapSpaceY(getVgap());
+        double hgap = snapSpaceX(getHgap());
         double insideWidth = width - left - right;
         double insideHeight = height - top - bottom;
 
         double tileWidth = getTileWidth() > insideWidth ? insideWidth : getTileWidth();
         double tileHeight = getTileHeight() > insideHeight ? insideHeight : getTileHeight();