|
1 | 1 | package com.modsim.gui.view; |
2 | 2 |
|
3 | 3 | import java.awt.*; |
4 | | -import java.awt.geom.AffineTransform; |
| 4 | +import java.awt.geom.*; |
5 | 5 | import java.text.DecimalFormat; |
6 | 6 |
|
7 | 7 | import javax.swing.*; |
@@ -78,8 +78,8 @@ public void paintComponent(Graphics oldG) { |
78 | 78 | g.setColor(Colors.grid); |
79 | 79 | double xD = (camX + getWidth()/2); |
80 | 80 | double yD = (camY + getHeight()/2); |
81 | | - double xOff = (int)xD % (int)(Main.sim.grid * zoom); |
82 | | - double yOff = (int)yD % (int)(Main.sim.grid * zoom); |
| 81 | + double xOff = xD % (Main.sim.grid * zoom); |
| 82 | + double yOff = yD % (Main.sim.grid * zoom); |
83 | 83 | g.translate(xOff, yOff); |
84 | 84 | drawGrid(g); |
85 | 85 |
|
@@ -168,13 +168,19 @@ public void drawGrid(Graphics2D g) { |
168 | 168 | int xNum = (int)(getWidth() / grid); |
169 | 169 | int yNum = (int)(getHeight() / grid); |
170 | 170 |
|
| 171 | + AffineTransform oldxform = new AffineTransform(g.getTransform()); |
| 172 | + Line2D verticalLine = new Line2D.Double(0.0, -grid, 0.0, getHeight() + grid); |
| 173 | + Line2D horizontalLine = new Line2D.Double(-grid, 0.0, getWidth() + grid, 0.0); |
171 | 174 | for (int i = 0; i <= xNum + 1; i++) { |
172 | | - g.drawLine((int)(i * grid), (int)-grid, (int)(i*grid), getHeight() + (int)grid); |
| 175 | + g.draw(verticalLine); |
| 176 | + g.translate(grid, 0.0); |
173 | 177 | } |
174 | | - |
| 178 | + g.setTransform(oldxform); |
175 | 179 | for (int i = 0; i <= yNum + 1; i++) { |
176 | | - g.drawLine((int)-grid, (int)(i * grid), getWidth() + (int)grid, (int)(i*grid)); |
| 180 | + g.draw(horizontalLine); |
| 181 | + g.translate(0.0, grid); |
177 | 182 | } |
| 183 | + g.setTransform(oldxform); |
178 | 184 | } |
179 | 185 |
|
180 | 186 | /** |
|
0 commit comments