diff --git a/src/main/java/seng302/visualiser/GameView.java b/src/main/java/seng302/visualiser/GameView.java index 95e1aed0..1f0a6ceb 100644 --- a/src/main/java/seng302/visualiser/GameView.java +++ b/src/main/java/seng302/visualiser/GameView.java @@ -9,14 +9,10 @@ import java.util.Map; import javafx.animation.AnimationTimer; import javafx.application.Platform; import javafx.collections.ObservableList; -import javafx.event.EventHandler; import javafx.geometry.Point2D; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.image.ImageView; -import javafx.scene.input.KeyCode; -import javafx.scene.input.KeyEvent; -import javafx.scene.input.ScrollEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; @@ -93,18 +89,14 @@ public class GameView extends Pane { public void zoomOut() { scaleFactor = 0.95; - for (Node child : getChildren()) { - child.setScaleX(child.getScaleX() * scaleFactor); - child.setScaleY(child.getScaleY() * scaleFactor); - } + this.setScaleX(this.getScaleX() * scaleFactor); + this.setScaleY(this.getScaleY() * scaleFactor); } public void zoomIn() { scaleFactor = 1.05; - for (Node child : getChildren()) { - child.setScaleX(child.getScaleX() * scaleFactor); - child.setScaleY(child.getScaleY() * scaleFactor); - } + this.setScaleX(this.getScaleX() * scaleFactor); + this.setScaleY(this.getScaleY() * scaleFactor); } private enum ScaleDirection { @@ -122,45 +114,6 @@ public class GameView extends Pane { gameObjects.add(fpsDisplay); gameObjects.add(raceBorder); gameObjects.add(markers); -// -// this.setOnKeyPressed(new EventHandler() { -// @Override public void handle(KeyEvent event) { -// event.consume(); -// switch (event.getCode()) { -// case Z: -// scaleFactor = scaleFactor * 1.2; -// break; -// case X: -// scaleFactor = scaleFactor * 0.8; -// break; -// } -// if (event.getCode() == KeyCode.Z || event.getCode() == KeyCode.X) { -// for (Node child : getChildren()) { -// child.setScaleX(child.getScaleX() * scaleFactor); -// child.setScaleY(child.getScaleY() * scaleFactor); -// } -// } -// } -// }); -// -// this.setOnScroll(new EventHandler() { -// @Override public void handle(ScrollEvent event) { -// event.consume(); -// if (event.getDeltaY() == 0) { -// return; -// } -// -// double scaleFactor = -// (event.getDeltaY() > 0) -// ? SCALE_DELTA -// : 1/SCALE_DELTA; -// for (Node child : getChildren()) { -// child.setScaleX(child.getScaleX() * scaleFactor); -// child.setScaleY(child.getScaleY() * scaleFactor); -// } -// } -// }); - initializeTimer(); } @@ -393,9 +346,6 @@ public class GameView extends Pane { BoatObject bo = boatObjects.get(boat); Point2D p2d = findScaledXY(lat, lon); bo.moveTo(p2d.getX(), p2d.getY(), heading, velocity, sailIn, windDir); -// annotations.get(boat).setLayoutX(p2d.getX()); -// annotations.get(boat).setLayoutY(p2d.getY()); -// annotations.get(boat).setLocation(100d, 100d); annotations.get(boat).setLocation(p2d.getX(), p2d.getY()); bo.setTrajectory( heading, @@ -410,7 +360,6 @@ public class GameView extends Pane { gameObjects.addAll(wakes); gameObjects.addAll(annotationsGroup); gameObjects.addAll(boatObjectGroup); - }); } diff --git a/src/main/java/seng302/visualiser/controllers/RaceViewController.java b/src/main/java/seng302/visualiser/controllers/RaceViewController.java index 63ce668a..4130f536 100644 --- a/src/main/java/seng302/visualiser/controllers/RaceViewController.java +++ b/src/main/java/seng302/visualiser/controllers/RaceViewController.java @@ -115,11 +115,11 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel initialiseSparkLine(); gameView = new GameView(); - Platform.runLater(() -> contentAnchorPane.getChildren().add(gameView)); - gameView.setBoats(new ArrayList<>(participants.values())); - gameView.updateBorder(raceData.getCourseLimit()); - gameView.updateCourse( - new ArrayList<>(raceData.getCompoundMarks().values()), raceData.getMarkSequence() + Platform.runLater(() -> contentAnchorPane.getChildren().add(0, gameView)); + gameView.setBoats(new ArrayList<>(participants.values())); + gameView.updateBorder(raceData.getCourseLimit()); + gameView.updateCourse( + new ArrayList<>(raceData.getCompoundMarks().values()), raceData.getMarkSequence() ); gameView.setBoatAsPlayer(player); gameView.startRace(); diff --git a/src/main/java/seng302/visualiser/fxObjects/AnnotationBox.java b/src/main/java/seng302/visualiser/fxObjects/AnnotationBox.java index cdaf329e..69c9e836 100644 --- a/src/main/java/seng302/visualiser/fxObjects/AnnotationBox.java +++ b/src/main/java/seng302/visualiser/fxObjects/AnnotationBox.java @@ -95,7 +95,7 @@ public class AnnotationBox extends Group { background.setStroke(theme); background.setStrokeWidth(2); background.setCache(true); - background.setCacheHint(CacheHint.SPEED); + background.setCacheHint(CacheHint.SCALE); this.getChildren().add(background); } @@ -213,7 +213,7 @@ public class AnnotationBox extends Group { Text text = new Text(); text.setFill(theme); text.setStrokeWidth(2); - text.setCacheHint(CacheHint.SPEED); +// text.setCacheHint(CacheHint.QUALITY); text.setCache(true); return text; } diff --git a/src/main/java/seng302/visualiser/fxObjects/BoatObject.java b/src/main/java/seng302/visualiser/fxObjects/BoatObject.java index 76180bf8..bb2c2775 100644 --- a/src/main/java/seng302/visualiser/fxObjects/BoatObject.java +++ b/src/main/java/seng302/visualiser/fxObjects/BoatObject.java @@ -3,7 +3,6 @@ package seng302.visualiser.fxObjects; import java.util.ArrayList; import javafx.application.Platform; import javafx.geometry.Point2D; -import javafx.scene.CacheHint; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.paint.Color; @@ -85,7 +84,7 @@ public class BoatObject extends Group { }); boatPoly.setOnMouseClicked(event -> setIsSelected(!isSelected)); boatPoly.setCache(true); - boatPoly.setCacheHint(CacheHint.SPEED); +// boatPoly.setCacheHint(CacheHint.SPEED); // annotationBox = new AnnotationBox(); // annotationBox.setFill(colour); diff --git a/src/main/resources/views/RaceView.fxml b/src/main/resources/views/RaceView.fxml index e13853d1..0d004b90 100644 --- a/src/main/resources/views/RaceView.fxml +++ b/src/main/resources/views/RaceView.fxml @@ -1,5 +1,11 @@ + + + + + + @@ -17,40 +23,33 @@ - - - - - - - - - - - - - - + + + +