From c384ad0e18129b9cb95b6015233d315ae105743c Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Sun, 20 Nov 2016 04:25:52 -0500 Subject: Draw runways --- .../com/benburwell/planes/gui/aircraftmap/AircraftMap.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java') diff --git a/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java b/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java index 1e6181b..d98dc60 100644 --- a/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java +++ b/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java @@ -3,6 +3,7 @@ package com.benburwell.planes.gui.aircraftmap; import com.benburwell.planes.data.Airport; import com.benburwell.planes.data.NavigationAid; import com.benburwell.planes.data.Position; +import com.benburwell.planes.data.Runway; import com.benburwell.planes.graph.RouteGraph; import com.benburwell.planes.gui.GraphicsTheme; import com.benburwell.planes.gui.aircraftmap.symbols.*; @@ -51,6 +52,7 @@ public class AircraftMap extends JPanel { private List navaids = new ArrayList<>(); private List airports = new ArrayList<>(); private List routes = new ArrayList<>(); + private List runways = new ArrayList<>(); private double centerLatitude; private double centerLongitude; private int pixelsPerNauticalMile = 10; @@ -58,6 +60,7 @@ public class AircraftMap extends JPanel { private DisplayMode navaidDisplayMode = DisplayMode.HIDDEN; private DisplayMode airportDisplayMode = DisplayMode.HIDDEN; private DisplayMode routeDisplayMode = DisplayMode.HIDDEN; + private DisplayMode runwayDisplayMode = DisplayMode.HIDDEN; /** * Construct a map @@ -114,6 +117,10 @@ public class AircraftMap extends JPanel { routes.getAirways().forEach(airway -> this.routes.add(new RouteSymbol(airway))); } + public void addRunways(List runways) { + runways.forEach(runway -> this.runways.add(new RunwaySymbol(runway))); + } + /** * Paint the Tabbable on a Graphics instance * @@ -132,6 +139,8 @@ public class AircraftMap extends JPanel { this.drawPositionAndScale(g2d); this.drawRange(g2d); + this.runways.forEach(runway -> runway.drawOn(g2d, this, this.runwayDisplayMode)); + // Aids to Navigation this.navaids.forEach(aid -> aid.drawOn(g2d, this, this.navaidDisplayMode)); @@ -159,6 +168,11 @@ public class AircraftMap extends JPanel { this.redraw(); } + public void toggleRunways() { + this.runwayDisplayMode = this.runwayDisplayMode.next(); + this.redraw(); + } + private void drawPositionAndScale(Graphics g) { Font currentFont = g.getFont(); Font newFont = currentFont.deriveFont(FONT_SIZE); -- cgit v1.2.3