Skip to content

Commit

Permalink
Clean up code for drawing markers (#201)
Browse files Browse the repository at this point in the history
  • Loading branch information
jfree committed May 16, 2021
1 parent e2d6118 commit 8f1f95f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 25 deletions.
37 changes: 16 additions & 21 deletions src/main/java/org/jfree/chart/plot/CategoryPlot.java
Original file line number Diff line number Diff line change
Expand Up @@ -339,10 +339,10 @@ public class CategoryPlot extends Plot implements ValueAxisPlot, Pannable,
private boolean rangeCrosshairLockedOnData = true;

/** A map containing lists of markers for the domain axes. */
private Map<Integer, Collection<Marker>> foregroundDomainMarkers;
private Map<Integer, Collection<CategoryMarker>> foregroundDomainMarkers;

/** A map containing lists of markers for the domain axes. */
private Map<Integer, Collection<Marker>> backgroundDomainMarkers;
private Map<Integer, Collection<CategoryMarker>> backgroundDomainMarkers;

/** A map containing lists of markers for the range axes. */
private Map<Integer, Collection<Marker>> foregroundRangeMarkers;
Expand Down Expand Up @@ -2270,14 +2270,14 @@ public Collection getDomainMarkers(Layer layer) {
*
* @return A collection of markers (possibly {@code null}).
*/
public Collection getDomainMarkers(int index, Layer layer) {
Collection result = null;
public Collection<CategoryMarker> getDomainMarkers(int index, Layer layer) {
Collection<CategoryMarker> result = null;
Integer key = index;
if (layer == Layer.FOREGROUND) {
result = (Collection) this.foregroundDomainMarkers.get(key);
result = this.foregroundDomainMarkers.get(key);
}
else if (layer == Layer.BACKGROUND) {
result = (Collection) this.backgroundDomainMarkers.get(key);
result = this.backgroundDomainMarkers.get(key);
}
if (result != null) {
result = Collections.unmodifiableCollection(result);
Expand Down Expand Up @@ -2528,14 +2528,13 @@ public Collection getRangeMarkers(Layer layer) {
*
* @return A collection of markers (possibly {@code null}).
*/
public Collection getRangeMarkers(int index, Layer layer) {
Collection result = null;
Integer key = index;
public Collection<Marker> getRangeMarkers(int index, Layer layer) {
Collection<Marker> result = null;
if (layer == Layer.FOREGROUND) {
result = (Collection) this.foregroundRangeMarkers.get(key);
result = this.foregroundRangeMarkers.get(index);
}
else if (layer == Layer.BACKGROUND) {
result = (Collection) this.backgroundRangeMarkers.get(key);
result = this.backgroundRangeMarkers.get(index);
}
if (result != null) {
result = Collections.unmodifiableCollection(result);
Expand Down Expand Up @@ -3817,19 +3816,17 @@ protected void drawAnnotations(Graphics2D g2, Rectangle2D dataArea) {
* @see #drawRangeMarkers(Graphics2D, Rectangle2D, int, Layer)
*/
protected void drawDomainMarkers(Graphics2D g2, Rectangle2D dataArea,
int index, Layer layer) {
int index, Layer layer) {

CategoryItemRenderer r = getRenderer(index);
if (r == null) {
return;
}

Collection markers = getDomainMarkers(index, layer);
Collection<CategoryMarker> markers = getDomainMarkers(index, layer);
CategoryAxis axis = getDomainAxisForDataset(index);
if (markers != null && axis != null) {
Iterator iterator = markers.iterator();
while (iterator.hasNext()) {
CategoryMarker marker = (CategoryMarker) iterator.next();
for (CategoryMarker marker : markers) {
r.drawDomainMarker(g2, this, axis, marker, dataArea);
}
}
Expand All @@ -3848,19 +3845,17 @@ protected void drawDomainMarkers(Graphics2D g2, Rectangle2D dataArea,
* @see #drawDomainMarkers(Graphics2D, Rectangle2D, int, Layer)
*/
protected void drawRangeMarkers(Graphics2D g2, Rectangle2D dataArea,
int index, Layer layer) {
int index, Layer layer) {

CategoryItemRenderer r = getRenderer(index);
if (r == null) {
return;
}

Collection markers = getRangeMarkers(index, layer);
Collection<Marker> markers = getRangeMarkers(index, layer);
ValueAxis axis = getRangeAxisForDataset(index);
if (markers != null && axis != null) {
Iterator iterator = markers.iterator();
while (iterator.hasNext()) {
Marker marker = (Marker) iterator.next();
for (Marker marker : markers) {
r.drawRangeMarker(g2, this, axis, marker, dataArea);
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/org/jfree/chart/plot/XYPlot.java
Original file line number Diff line number Diff line change
Expand Up @@ -3699,15 +3699,15 @@ public void drawAnnotations(Graphics2D g2, Rectangle2D dataArea,
* @param layer the layer (foreground or background).
*/
protected void drawDomainMarkers(Graphics2D g2, Rectangle2D dataArea,
int index, Layer layer) {
int index, Layer layer) {

XYItemRenderer r = getRenderer(index);
if (r == null) {
return;
}
// check that the renderer has a corresponding dataset (it doesn't
// matter if the dataset is null)
if (index >= getDatasetCount()) {
if (!this.datasets.containsKey(index)) {
return;
}
Collection<Marker> markers = getDomainMarkers(index, layer);
Expand All @@ -3730,15 +3730,15 @@ protected void drawDomainMarkers(Graphics2D g2, Rectangle2D dataArea,
* @param layer the layer (foreground or background).
*/
protected void drawRangeMarkers(Graphics2D g2, Rectangle2D dataArea,
int index, Layer layer) {
int index, Layer layer) {

XYItemRenderer r = getRenderer(index);
if (r == null) {
return;
}
// check that the renderer has a corresponding dataset (it doesn't
// matter if the dataset is null)
if (index >= getDatasetCount()) {
if (!this.datasets.containsKey(index)) {
return;
}
Collection<Marker> markers = getRangeMarkers(index, layer);
Expand Down

0 comments on commit 8f1f95f

Please sign in to comment.