|
@@ -120,11 +120,16 @@ public class BasicDrawing extends JPanel implements Drawing {
|
120
|
120
|
// Image to draw
|
121
|
121
|
private Image image;
|
122
|
122
|
|
123
|
|
- public BasicMarkerOverlay(Point point, Color color) {
|
|
123
|
+ // Inner color and fill mode.
|
|
124
|
+ private Color innerColor;
|
|
125
|
+ private final AlphaMode alphaMode;
|
|
126
|
+
|
|
127
|
+ public BasicMarkerOverlay(Point point, Color color, Color inner, AlphaMode alphaMode) {
|
124
|
128
|
super(color);
|
125
|
129
|
this.point = point;
|
126
|
|
- this.color = color;
|
127
|
|
- this.image = MarkerUtils.getMarkerForColor(color);
|
|
130
|
+ this.image = MarkerUtils.getMarkerForColor(color, inner, alphaMode);
|
|
131
|
+ this.innerColor = inner;
|
|
132
|
+ this.alphaMode = alphaMode;
|
128
|
133
|
}
|
129
|
134
|
|
130
|
135
|
@Override
|
|
@@ -134,8 +139,9 @@ public class BasicDrawing extends JPanel implements Drawing {
|
134
|
139
|
|
135
|
140
|
@Override
|
136
|
141
|
public void setColor(Color color) {
|
|
142
|
+ this.innerColor = this.innerColor.equals(this.color) ? color : innerColor;
|
137
|
143
|
super.setColor(color);
|
138
|
|
- this.image = MarkerUtils.getMarkerForColor(color);
|
|
144
|
+ this.image = MarkerUtils.getMarkerForColor(color, this.innerColor, alphaMode);
|
139
|
145
|
}
|
140
|
146
|
|
141
|
147
|
@Override
|
|
@@ -347,6 +353,7 @@ public class BasicDrawing extends JPanel implements Drawing {
|
347
|
353
|
}
|
348
|
354
|
|
349
|
355
|
this.addMouseListener(new MouseAdapter() {
|
|
356
|
+
|
350
|
357
|
@Override
|
351
|
358
|
public void mouseClicked(MouseEvent evt) {
|
352
|
359
|
if (zoomControls.contains(evt.getPoint())) {
|
|
@@ -363,6 +370,7 @@ public class BasicDrawing extends JPanel implements Drawing {
|
363
|
370
|
listener.mouseClicked(lonlat);
|
364
|
371
|
}
|
365
|
372
|
}
|
|
373
|
+
|
366
|
374
|
});
|
367
|
375
|
}
|
368
|
376
|
|
|
@@ -398,6 +406,7 @@ public class BasicDrawing extends JPanel implements Drawing {
|
398
|
406
|
|
399
|
407
|
/*
|
400
|
408
|
* (non-Javadoc)
|
|
409
|
+ *
|
401
|
410
|
* @see org.insa.graphics.drawing.Drawing#clear()
|
402
|
411
|
*/
|
403
|
412
|
@Override
|
|
@@ -413,6 +422,7 @@ public class BasicDrawing extends JPanel implements Drawing {
|
413
|
422
|
|
414
|
423
|
/*
|
415
|
424
|
* (non-Javadoc)
|
|
425
|
+ *
|
416
|
426
|
* @see org.insa.graphics.drawing.Drawing#clearOverlays()
|
417
|
427
|
*/
|
418
|
428
|
@Override
|
|
@@ -456,6 +466,7 @@ public class BasicDrawing extends JPanel implements Drawing {
|
456
|
466
|
|
457
|
467
|
/*
|
458
|
468
|
* (non-Javadoc)
|
|
469
|
+ *
|
459
|
470
|
* @see
|
460
|
471
|
* org.insa.graphics.drawing.Drawing#addDrawingClickListener(org.insa.graphics.
|
461
|
472
|
* drawing.DrawingClickListener)
|
|
@@ -467,6 +478,7 @@ public class BasicDrawing extends JPanel implements Drawing {
|
467
|
478
|
|
468
|
479
|
/*
|
469
|
480
|
* (non-Javadoc)
|
|
481
|
+ *
|
470
|
482
|
* @see org.insa.graphics.drawing.Drawing#removeDrawingClickListener(org.insa.
|
471
|
483
|
* graphics.drawing.DrawingClickListener)
|
472
|
484
|
*/
|
|
@@ -475,13 +487,13 @@ public class BasicDrawing extends JPanel implements Drawing {
|
475
|
487
|
this.drawingClickListeners.remove(listener);
|
476
|
488
|
}
|
477
|
489
|
|
478
|
|
- public BasicMarkerOverlay createMarker(Point point, Color color) {
|
479
|
|
- return new BasicMarkerOverlay(point, color);
|
|
490
|
+ public BasicMarkerOverlay createMarker(Point point, Color outer, Color inner, AlphaMode mode) {
|
|
491
|
+ return new BasicMarkerOverlay(point, outer, inner, mode);
|
480
|
492
|
}
|
481
|
493
|
|
482
|
494
|
@Override
|
483
|
|
- public MarkerOverlay drawMarker(Point point, Color color) {
|
484
|
|
- BasicMarkerOverlay marker = createMarker(point, color);
|
|
495
|
+ public MarkerOverlay drawMarker(Point point, Color outer, Color inner, AlphaMode mode) {
|
|
496
|
+ BasicMarkerOverlay marker = createMarker(point, outer, inner, mode);
|
485
|
497
|
synchronized (overlays) {
|
486
|
498
|
this.overlays.add(marker);
|
487
|
499
|
}
|
|
@@ -646,8 +658,9 @@ public class BasicDrawing extends JPanel implements Drawing {
|
646
|
658
|
}
|
647
|
659
|
BasicMarkerOverlay origin = null, destination = null;
|
648
|
660
|
if (markers && !path.isEmpty()) {
|
649
|
|
- origin = createMarker(path.getOrigin().getPoint(), color);
|
650
|
|
- destination = createMarker(path.getDestination().getPoint(), color);
|
|
661
|
+ origin = createMarker(path.getOrigin().getPoint(), color, color, AlphaMode.TRANSPARENT);
|
|
662
|
+ destination = createMarker(path.getDestination().getPoint(), color, color,
|
|
663
|
+ AlphaMode.TRANSPARENT);
|
651
|
664
|
}
|
652
|
665
|
BasicPathOverlay overlay = new BasicPathOverlay(points, color, origin, destination);
|
653
|
666
|
synchronized (overlays) {
|