|
From: Frederick W. <fre...@us...> - 2012-01-10 22:29:25
|
rails/ui/swing/ImageLoader.java | 3 +++
rails/ui/swing/MapPanel.java | 3 +++
rails/ui/swing/ORPanel.java | 7 +------
3 files changed, 7 insertions(+), 6 deletions(-)
New commits:
commit 1f0b89df9bde415058747b361b366dec5fe6202c
Author: Frederick Weld <fre...@gm...>
Date: Tue Jan 10 23:25:06 2012 +0100
Fixed resize issues: tiles (adjustment zoom), routes (fit zoom)
There is a buffer for tile scalings - it is now invalidated whenever
the adjustmentZoomFactor is changed. (This tile buffer is the reason
why maintaining zoom steps made sense in the past.)
In addition, redrawal of routes is now also triggered upon auto-resize
diff --git a/rails/ui/swing/ImageLoader.java b/rails/ui/swing/ImageLoader.java
index f663639..fd64570 100644
--- a/rails/ui/swing/ImageLoader.java
+++ b/rails/ui/swing/ImageLoader.java
@@ -149,6 +149,9 @@ public class ImageLoader {
for (int i = 0 ; i < zoomFactors.length ; i++) {
zoomFactors[i] = 0;
}
+
+ //invalidate buffered tile scalings
+ if (tileMap != null) tileMap.clear();
}
public void resetAdjustmentFactor() {
diff --git a/rails/ui/swing/MapPanel.java b/rails/ui/swing/MapPanel.java
index 23e4a24..66c81d6 100644
--- a/rails/ui/swing/MapPanel.java
+++ b/rails/ui/swing/MapPanel.java
@@ -138,6 +138,9 @@ public class MapPanel extends JPanel {
if (mapImage != null) {
mapImage.setBoundsAndResize(currentMapSize,map.getZoomStep());
}
+ //access from map panel to or panel not nice but currently necessary for route drawing
+ if (gameUIManager.getORUIManager() != null && gameUIManager.getORUIManager().getORPanel() != null)
+ gameUIManager.getORUIManager().getORPanel().redrawRoutes();
layeredPane.revalidate();
}
diff --git a/rails/ui/swing/ORPanel.java b/rails/ui/swing/ORPanel.java
index 959d644..aeb19e7 100644
--- a/rails/ui/swing/ORPanel.java
+++ b/rails/ui/swing/ORPanel.java
@@ -790,7 +790,7 @@ implements ActionListener, KeyListener, RevenueListener {
disableRoutesDisplay();
}
- private void redrawRoutes() {
+ public void redrawRoutes() {
if (revenueAdapter != null && isDisplayRoutes()) {
revenueAdapter.drawOptimalRunAsPath(orUIManager.getMap());
}
@@ -827,19 +827,16 @@ implements ActionListener, KeyListener, RevenueListener {
fitToWidth.setSelected(false);
fitToHeight.setSelected(false);
orWindow.getMapPanel().zoom(true);
- redrawRoutes();
} else if (source == zoomOut) {
fitToWindow.setSelected(false);
fitToWidth.setSelected(false);
fitToHeight.setSelected(false);
orWindow.getMapPanel().zoom(false);
- redrawRoutes();
} else if (source == fitToWindow) {
if (fitToWindow.isSelected()) {
fitToWidth.setSelected(false);
fitToHeight.setSelected(false);
orWindow.getMapPanel().fitToWindow();
- redrawRoutes();
} else {
orWindow.getMapPanel().removeFitToOption();
}
@@ -848,7 +845,6 @@ implements ActionListener, KeyListener, RevenueListener {
fitToWindow.setSelected(false);
fitToHeight.setSelected(false);
orWindow.getMapPanel().fitToWidth();
- redrawRoutes();
} else {
orWindow.getMapPanel().removeFitToOption();
}
@@ -857,7 +853,6 @@ implements ActionListener, KeyListener, RevenueListener {
fitToWindow.setSelected(false);
fitToWidth.setSelected(false);
orWindow.getMapPanel().fitToHeight();
- redrawRoutes();
} else {
orWindow.getMapPanel().removeFitToOption();
}
|