Must create the shape from informations given earlier, that is, resize it if needed and position it, and do all the things that are specific to each element, and cannot be done for the group of elements.
The rendering back-end.
the view parameters.
#make(Camera) for the shadow shape.
Render the shape for the given element.
The view parameters.
The element to render.
The element geometry and information.
Render the shape shadow for the given element.
First control point.
Second control point.
Render the shadow.
The Java2D graphics.
Setup the parts of the decor specific to each element.
Configure all the static parts needed to decor the shape.
Configure all the dynamic and per element settings.
Configure as much as possible the graphics before painting several version of this shape at different positions.
Configure all the static parts needed to cast the shadow of the shape.
Configure all the static parts needed to stroke the shape.
Paint the decorations (text and icon).
Origin point of the connector.
Is the connector directed ?
Set the shadow offset according to the shape.
The shadow paint.
Sety the shadow width added to the shape width.
We will use it often, better store it.
Paint the stroke of the shape.
The stroke color.
The string of text of the contents.
The text and icon.
The edge, we will also need it often.
Offset of the shadow according to the shape center.
Additional width of a shadow (added to the shape size).
Width of the connector.
Overall sizes of the area at the end of the connector.
The stroke width.
Overall size of the area at the end of the connector.
Destination of the connector.