package com.c2kernel.lifecycle.instance; import java.io.Serializable; import com.c2kernel.graph.model.GraphPoint; import com.c2kernel.graph.model.Vertex; import com.c2kernel.graph.model.VertexOutlineCreator; public class WfVertexOutlineCreator implements VertexOutlineCreator,Serializable { private final int mActivityWidth = 130; private final int mActivityHeight = 60; private final int mSplitJoinWidth = 60; private final int mSplitJoinHeight = 25; @Override public void setOutline(Vertex vertex) { GraphPoint centrePoint = vertex.getCentrePoint(); GraphPoint[] outlinePoints = new GraphPoint[ 4 ]; int vertexWidth = 0; int vertexHeight = 0; if(vertex instanceof Activity) { vertexWidth = mActivityWidth; vertexHeight = mActivityHeight; } else { vertexWidth = mSplitJoinWidth; vertexHeight = mSplitJoinHeight; } outlinePoints[ 0 ] = new GraphPoint(); outlinePoints[ 0 ].x = centrePoint.x - vertexWidth / 2; outlinePoints[ 0 ].y = centrePoint.y - vertexHeight / 2; outlinePoints[ 1 ] = new GraphPoint(); outlinePoints[ 1 ].x = centrePoint.x + vertexWidth / 2; outlinePoints[ 1 ].y = centrePoint.y - vertexHeight / 2; outlinePoints[ 2 ] = new GraphPoint(); outlinePoints[ 2 ].x = centrePoint.x + vertexWidth / 2; outlinePoints[ 2 ].y = centrePoint.y + vertexHeight / 2; outlinePoints[ 3 ] = new GraphPoint(); outlinePoints[ 3 ].x = centrePoint.x - vertexWidth / 2; outlinePoints[ 3 ].y = centrePoint.y + vertexHeight / 2; vertex.setOutlinePoints( outlinePoints ); } }