summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-24 18:25:31 -0700
committerKeith Packard <keithp@keithp.com>2014-06-24 18:25:31 -0700
commitdbff6dd42f8b6fb90c8d3f07bde48a6be0bfddf0 (patch)
tree326f243e8fb52be21428b0498bcd4555762aba1a
parentade2cc9abb8ca403a9ae5d1f9c145ab72ce94919 (diff)
altosuilib: Outline map lines and distance value with white
This makes the value and line visible on dark backgrounds Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosuilib/AltosUIMapLine.java19
-rw-r--r--altosuilib/AltosUIMapView.java2
2 files changed, 17 insertions, 4 deletions
diff --git a/altosuilib/AltosUIMapLine.java b/altosuilib/AltosUIMapLine.java
index 86d2e6e2..32437d4e 100644
--- a/altosuilib/AltosUIMapLine.java
+++ b/altosuilib/AltosUIMapLine.java
@@ -31,6 +31,7 @@ public class AltosUIMapLine {
AltosUILatLon start, end;
private Font font = null;
+ static public int stroke_width = 6;
public void set_font(Font font) {
this.font = font;
@@ -87,19 +88,24 @@ public class AltosUIMapLine {
}
public void paint(Graphics2D g, AltosUIMapTransform t) {
- g.setColor(Color.BLUE);
if (start == null || end == null)
return;
+ g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+
Line2D.Double line = new Line2D.Double(t.screen(start),
t.screen(end));
+ g.setColor(Color.WHITE);
+ g.setStroke(new BasicStroke(stroke_width+4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
+ g.draw(line);
+
+ g.setColor(Color.BLUE);
+ g.setStroke(new BasicStroke(stroke_width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g.draw(line);
String message = line_dist();
- g.setFont(font);
- g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
Rectangle2D bounds;
bounds = font.getStringBounds(message, g.getFontRenderContext());
@@ -111,6 +117,13 @@ public class AltosUIMapLine {
} else {
x += 2.0f;
}
+
+ g.setFont(font);
+ g.setColor(Color.WHITE);
+ for (int dy = -2; dy <= 2; dy += 2)
+ for (int dx = -2; dx <= 2; dx += 2)
+ g.drawString(message, x + dx, y + dy);
+ g.setColor(Color.BLUE);
g.drawString(message, x, y);
}
}
diff --git a/altosuilib/AltosUIMapView.java b/altosuilib/AltosUIMapView.java
index 34a85f52..70b8e2e9 100644
--- a/altosuilib/AltosUIMapView.java
+++ b/altosuilib/AltosUIMapView.java
@@ -67,7 +67,7 @@ public class AltosUIMapView extends Component implements MouseMotionListener, Mo
AltosUILatLon centre;
public void set_font() {
- line.set_font(AltosUILib.value_font);
+ line.set_font(AltosUILib.status_font);
for (AltosUIMapTile tile : tiles.values())
tile.set_font(AltosUILib.value_font);
repaint();