First commit, added all projects
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package gui;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.geom.AffineTransform;
|
||||
import java.util.Iterator;
|
||||
|
||||
import feature.StreetSegment;
|
||||
import feature.StreetThemeLibrary;
|
||||
import geography.Theme;
|
||||
import geography.ThemeLibrary;
|
||||
|
||||
/**
|
||||
* A cartographer for rendering street segments.
|
||||
*/
|
||||
public class StreetSegmentCartographer implements Cartographer<StreetSegment>
|
||||
{
|
||||
private ThemeLibrary themeLibrary = new StreetThemeLibrary();
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public StreetSegmentCartographer()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void paintHighlights(final CartographyDocument<StreetSegment> model, final Graphics2D g2,
|
||||
final AffineTransform at)
|
||||
{
|
||||
StreetSegment segment;
|
||||
Iterator<StreetSegment> it = model.highlighted();
|
||||
while (it.hasNext())
|
||||
{
|
||||
segment = it.next();
|
||||
Theme theme = themeLibrary.getHighlightTheme();
|
||||
g2.setColor(theme.getColor());
|
||||
g2.setStroke(theme.getStroke());
|
||||
g2.draw(at.createTransformedShape(segment.getGeographicShape().getShape()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void paintShapes(final CartographyDocument<StreetSegment> model, final Graphics2D g2,
|
||||
final AffineTransform at)
|
||||
{
|
||||
for (StreetSegment segment : model)
|
||||
{
|
||||
Theme theme = themeLibrary.getTheme(segment.getCode());
|
||||
g2.setColor(theme.getColor());
|
||||
g2.setStroke(theme.getStroke());
|
||||
g2.draw(at.createTransformedShape(segment.getGeographicShape().getShape()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user