103 lines
2.3 KiB
Java
103 lines
2.3 KiB
Java
package org.insa.graphics.drawing;
|
|
|
|
import java.awt.Color;
|
|
|
|
import org.insa.graph.Arc;
|
|
import org.insa.graph.RoadInformation.RoadType;
|
|
|
|
public class BasicGraphPalette implements GraphPalette {
|
|
|
|
// Color types for arc.
|
|
static final Color motorway = Color.RED;
|
|
static final Color bigroad = new Color(255, 105, 0);
|
|
static final Color smallroad = new Color(255, 234, 0);
|
|
static final Color coastline = Color.BLUE;
|
|
|
|
// Default point width
|
|
static final int DEFAULT_POINT_WIDTH = 1;
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public BasicGraphPalette() {
|
|
}
|
|
|
|
@Override
|
|
public int getDefaultPointWidth() {
|
|
return 2;
|
|
}
|
|
|
|
@Override
|
|
public Color getDefaultPointColor() {
|
|
return Color.GREEN;
|
|
}
|
|
|
|
@Override
|
|
public Color getColorForArc(Arc arc) {
|
|
RoadType type = arc.getRoadInformation().getType();
|
|
Color color = Color.BLACK;
|
|
switch (type) {
|
|
case MOTORWAY:
|
|
color = motorway;
|
|
break;
|
|
case TRUNK:
|
|
case PRIMARY:
|
|
case SECONDARY:
|
|
case MOTORWAY_LINK:
|
|
case TRUNK_LINK:
|
|
case PRIMARY_LINK:
|
|
color = bigroad;
|
|
break;
|
|
case SECONDARY_LINK:
|
|
case TERTIARY:
|
|
case RESIDENTIAL:
|
|
case UNCLASSIFIED:
|
|
case ROAD:
|
|
case LIVING_STREET:
|
|
case SERVICE:
|
|
case ROUNDABOUT:
|
|
color = smallroad;
|
|
break;
|
|
case COASTLINE:
|
|
color = coastline;
|
|
break;
|
|
}
|
|
|
|
return color;
|
|
}
|
|
|
|
@Override
|
|
public int getWidthForArc(Arc arc) {
|
|
RoadType type = arc.getRoadInformation().getType();
|
|
int width = 1;
|
|
switch (type) {
|
|
case MOTORWAY:
|
|
width = 2;
|
|
break;
|
|
case TRUNK:
|
|
case PRIMARY:
|
|
case SECONDARY:
|
|
case MOTORWAY_LINK:
|
|
case TRUNK_LINK:
|
|
case PRIMARY_LINK:
|
|
width = 1;
|
|
break;
|
|
case SECONDARY_LINK:
|
|
case TERTIARY:
|
|
case RESIDENTIAL:
|
|
case UNCLASSIFIED:
|
|
case ROAD:
|
|
case LIVING_STREET:
|
|
case SERVICE:
|
|
case ROUNDABOUT:
|
|
width = 1;
|
|
break;
|
|
case COASTLINE:
|
|
width = 4;
|
|
break;
|
|
}
|
|
return width;
|
|
}
|
|
|
|
}
|