changeset 29:a5a481b56059

Fix incorrect grid size calculation, resulting in drawing area overflow.
author shade
date Thu, 15 Jun 2017 20:09:13 +0200
parents e22defb2a606
children db3d17330c0a
files src/main/java/org/openjdk/shenandoah/Colors.java src/main/java/org/openjdk/shenandoah/RegionStat.java src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java
diffstat 3 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/org/openjdk/shenandoah/Colors.java	Tue Jun 13 13:20:06 2017 +0200
+++ b/src/main/java/org/openjdk/shenandoah/Colors.java	Thu Jun 15 20:09:13 2017 +0200
@@ -20,4 +20,6 @@
     static final Color LIVE_BORDER          = new Color(0, 100, 0);
     static final Color CSET                 = Color.YELLOW;
     static final Color HUMONGOUS            = Color.RED;
+
+    static final Color BORDER               = new Color(150, 150, 150);
 }
--- a/src/main/java/org/openjdk/shenandoah/RegionStat.java	Tue Jun 13 13:20:06 2017 +0200
+++ b/src/main/java/org/openjdk/shenandoah/RegionStat.java	Thu Jun 15 20:09:13 2017 +0200
@@ -136,7 +136,7 @@
             g.fillOval(x + width/2, y + height/2, width/4, height/4);
         }
 
-        g.setColor(Color.GRAY);
+        g.setColor(Colors.BORDER);
         g.drawRect(x, y, width, height);
     }
 
--- a/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Tue Jun 13 13:20:06 2017 +0200
+++ b/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Thu Jun 15 20:09:13 2017 +0200
@@ -288,6 +288,7 @@
             for (String key : items.keySet()) {
                 int y = (int) (i * sqSize * 1.5);
                 items.get(key).render(g, 0, y, sqSize, sqSize);
+                g.setColor(Color.BLACK);
                 g.drawString(key, (int) (sqSize * 1.5), y + sqSize);
                 i++;
             }
@@ -296,15 +297,15 @@
         public synchronized void renderRegions(Graphics g) {
             int area = regionWidth * regionHeight;
             int sqSize = Math.max(1, (int) Math.sqrt(1D * area / snapshot.regionCount()));
-            int cellSize = sqSize + 3;
-            int cols = regionWidth / cellSize;
+            int cols = regionWidth / sqSize;
+            int cellSize = sqSize - 2;
 
             for (int i = 0; i < snapshot.regionCount(); i++) {
-                int rectx = (i % cols) * cellSize;
-                int recty = (i / cols) * cellSize;
+                int rectx = (i % cols) * sqSize;
+                int recty = (i / cols) * sqSize;
 
                 RegionStat s = snapshot.get(i);
-                s.render(g, rectx, recty, sqSize, sqSize);
+                s.render(g, rectx, recty, cellSize, cellSize);
             }
 
             Color BASE = new Color(0, 0, 0, 20);