diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-19 16:24:25 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-19 16:24:25 +0000 |
| commit | 1737afec7bc9b13e31934913510ff00aa2cdb5d3 (patch) | |
| tree | 1c0b07f5ab1b651ed3775d79a0681533cbe2f59e /sources/simulator | |
| parent | 3f40213c906b4017d56ef31a9a82f0b5d0905229 (diff) | |
Anti-Aliasing checkbox works.
Diffstat (limited to 'sources/simulator')
| -rw-r--r-- | sources/simulator/VSSimulation.java | 11 | ||||
| -rw-r--r-- | sources/simulator/VSSimulationPanel.java | 16 |
2 files changed, 27 insertions, 0 deletions
diff --git a/sources/simulator/VSSimulation.java b/sources/simulator/VSSimulation.java index 1481c70..d10fec2 100644 --- a/sources/simulator/VSSimulation.java +++ b/sources/simulator/VSSimulation.java @@ -258,6 +258,17 @@ public class VSSimulation extends VSFrame implements ActionListener { }); toolsPanel.add(vectorTimeActiveCheckBox); + JCheckBox antiAliasing = new JCheckBox(prefs.getString("lang.antialiasing")); + antiAliasing.setSelected(false); + antiAliasing.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent ce) { + AbstractButton abstractButton = (AbstractButton) ce.getSource(); + ButtonModel buttonModel = abstractButton.getModel(); + simulationPanel.isAntiAliased(buttonModel.isSelected()); + } + }); + toolsPanel.add(antiAliasing); + JCheckBox loggingActiveCheckBox = new JCheckBox(prefs.getString("lang.logging.active")); loggingActiveCheckBox.setSelected(true); loggingActiveCheckBox.addChangeListener(new ChangeListener() { diff --git a/sources/simulator/VSSimulationPanel.java b/sources/simulator/VSSimulationPanel.java index 8ee8f40..a978d1b 100644 --- a/sources/simulator/VSSimulationPanel.java +++ b/sources/simulator/VSSimulationPanel.java @@ -28,6 +28,8 @@ public class VSSimulationPanel extends Canvas implements Runnable, MouseMotionLi private volatile boolean isFinalized = false; private volatile boolean isFinished = false; private volatile boolean isResetted = false; + private volatile boolean isAntiAliased = false; + private volatile boolean isAntiAliasedChanged = false; private volatile boolean showLamport = false; private volatile boolean showVectorTime = false; private volatile long pauseTime; @@ -240,6 +242,8 @@ public class VSSimulationPanel extends Canvas implements Runnable, MouseMotionLi //setPreferredSize(new Dimension(simulation.getWidth()-simulation.getSplitSize(),(int)paintSize-20)); g = (Graphics2D) strategy.getDrawGraphics(); g.setColor(Color.WHITE); + if (isAntiAliased) + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); } } } @@ -300,6 +304,13 @@ public class VSSimulationPanel extends Canvas implements Runnable, MouseMotionLi } synchronized (strategy) { + if (isAntiAliasedChanged) { + if (isAntiAliased) + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + else + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); + isAntiAliasedChanged = false; + } g.fillRect(0, 0, getWidth(), getHeight()); final long globalTime = time; @@ -647,6 +658,11 @@ public class VSSimulationPanel extends Canvas implements Runnable, MouseMotionLi paint(); } + public void isAntiAliased(boolean isAntiAliased) { + this.isAntiAliased = isAntiAliased; + this.isAntiAliasedChanged = true; + } + public void sendMessage(VSMessage message) { VSTask task = null; VSProcess sendingProcess = message.getSendingProcess(); |
