diff options
| author | Keith Packard <keithp@keithp.com> | 2014-06-24 18:25:31 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2014-06-24 18:25:31 -0700 | 
| commit | dbff6dd42f8b6fb90c8d3f07bde48a6be0bfddf0 (patch) | |
| tree | 326f243e8fb52be21428b0498bcd4555762aba1a | |
| parent | ade2cc9abb8ca403a9ae5d1f9c145ab72ce94919 (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.java | 19 | ||||
| -rw-r--r-- | altosuilib/AltosUIMapView.java | 2 | 
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();  | 
