package com.c2kernel.gui.graph.view; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.Paint; import java.awt.Polygon; import com.c2kernel.graph.model.GraphPoint; import com.c2kernel.graph.model.Vertex; public class DefaultVertexRenderer implements VertexRenderer { private Paint mLinePaint = null; private Paint mTextPaint = null; private Paint mFillPaint = null; public DefaultVertexRenderer(Paint linePaint, Paint textPaint, Paint fillPaint) { mLinePaint = linePaint; mTextPaint = textPaint; mFillPaint = fillPaint; } @Override public void draw(Graphics2D g2d, Vertex vertex) { GraphPoint[] outlinePoints = vertex.getOutlinePoints(); GraphPoint centrePoint = vertex.getCentrePoint(); Polygon outline = new Polygon(); String vertexName = vertex.getName(); FontMetrics metrics = g2d.getFontMetrics(); int textWidth = metrics.stringWidth(vertexName); int textHeight = metrics.getHeight(); int textX = centrePoint.x - textWidth/2; int textY = centrePoint.y + textHeight/3; int i = 0; // Construct a shape in the outline of the vertex for(i=0; i