Add possibility to show/hide a marker after its creation without having to delete/recreate it.
This commit is contained in:
@@ -46,9 +46,13 @@ public class BasicDrawing extends JPanel implements Drawing {
|
||||
// Image of the marker
|
||||
protected BufferedImage image;
|
||||
|
||||
// Visible?
|
||||
protected boolean visible;
|
||||
|
||||
public BasicMarkerTracker(Point point, BufferedImage image) {
|
||||
this.point = point;
|
||||
this.image = image;
|
||||
this.visible = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -62,6 +66,12 @@ public class BasicDrawing extends JPanel implements Drawing {
|
||||
BasicDrawing.this.repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisible(boolean visible) {
|
||||
this.visible = visible;
|
||||
BasicDrawing.this.repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete() {
|
||||
BasicDrawing.this.markers.remove(this);
|
||||
@@ -151,10 +161,12 @@ public class BasicDrawing extends JPanel implements Drawing {
|
||||
|
||||
// Draw markers
|
||||
for (BasicMarkerTracker mtracker: markers) {
|
||||
BufferedImage img = mtracker.image;
|
||||
int px = this.projx(mtracker.getPoint().getLongitude());
|
||||
int py = this.projy(mtracker.getPoint().getLatitude());
|
||||
g.drawImage(img, px - img.getWidth() / 2, py - img.getHeight(), this);
|
||||
if (mtracker.visible) {
|
||||
BufferedImage img = mtracker.image;
|
||||
int px = this.projx(mtracker.getPoint().getLongitude());
|
||||
int py = this.projy(mtracker.getPoint().getLatitude());
|
||||
g.drawImage(img, px - img.getWidth() / 2, py - img.getHeight(), this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user