From 784e8ba0eb64cce32f372f2a5b26a25bbd0c7ec0 Mon Sep 17 00:00:00 2001 From: drdev Date: Wed, 7 Aug 2013 12:54:23 +0000 Subject: [PATCH] Make arrow icons appear the same size for all 4 directions --- .../java/forge/gui/toolbox/FScrollPanel.java | 60 ++++++++++++------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/src/main/java/forge/gui/toolbox/FScrollPanel.java b/src/main/java/forge/gui/toolbox/FScrollPanel.java index e9dc369a4e9..f6c44812be2 100644 --- a/src/main/java/forge/gui/toolbox/FScrollPanel.java +++ b/src/main/java/forge/gui/toolbox/FScrollPanel.java @@ -308,11 +308,16 @@ public class FScrollPanel extends JScrollPane { @Override protected void drawArrow(final Graphics g) { - int centerX = getWidth() / 2; - int centerY = getHeight() / 2; - int halfSize = arrowSize / 2; - g.fillPolygon(new int[] { centerX - halfSize, centerX + halfSize, centerX + halfSize }, - new int[] { centerY, centerY + arrowSize, centerY - arrowSize }, 3); + int x = (getWidth() - arrowSize) / 2; + int y2 = getHeight() / 2; + int y1 = y2 - 1; + for (int i = 0; i < arrowSize; i++) + { + g.drawLine(x, y1, x, y2); + x++; + y1--; + y2++; + } } } @@ -323,11 +328,16 @@ public class FScrollPanel extends JScrollPane { @Override protected void drawArrow(final Graphics g) { - int centerX = getWidth() / 2; - int centerY = getHeight() / 2; - int halfSize = arrowSize / 2; - g.fillPolygon(new int[] { centerX + halfSize, centerX - halfSize, centerX - halfSize }, - new int[] { centerY, centerY + arrowSize, centerY - arrowSize }, 3); + int x = (getWidth() + arrowSize) / 2; + int y2 = getHeight() / 2; + int y1 = y2 - 1; + for (int i = 0; i < arrowSize; i++) + { + g.drawLine(x, y1, x, y2); + x--; + y1--; + y2++; + } } } @@ -338,11 +348,16 @@ public class FScrollPanel extends JScrollPane { @Override protected void drawArrow(final Graphics g) { - int centerX = getWidth() / 2; - int centerY = getHeight() / 2; - int halfSize = arrowSize / 2; - g.fillPolygon(new int[] { centerX, centerX + arrowSize, centerX - arrowSize }, - new int[] { centerY - halfSize, centerY + halfSize, centerY + halfSize }, 3); + int x2 = getWidth() / 2; + int x1 = x2 - 1; + int y = (getHeight() - arrowSize) / 2; + for (int i = 0; i < arrowSize; i++) + { + g.drawLine(x1, y, x2, y); + x1--; + x2++; + y++; + } } } @@ -353,11 +368,16 @@ public class FScrollPanel extends JScrollPane { @Override protected void drawArrow(final Graphics g) { - int centerX = getWidth() / 2; - int centerY = getHeight() / 2; - int halfSize = arrowSize / 2; - g.fillPolygon(new int[] { centerX, centerX + arrowSize, centerX - arrowSize }, - new int[] { centerY + halfSize, centerY - halfSize, centerY - halfSize }, 3); + int x2 = getWidth() / 2; + int x1 = x2 - 1; + int y = (getHeight() + arrowSize) / 2; + for (int i = 0; i < arrowSize; i++) + { + g.drawLine(x1, y, x2, y); + x1--; + x2++; + y--; + } } }