/*
* @(#)BasicShapePainter.java
*
* Copyright 2002 EGANTT LLP. All rights reserved.
* PROPRIETARY/QPL. Use is subject to license terms.
*/
package com.egantt.drawing.painter.basic;
import com.egantt.awt.graphics.GraphicsContext;
import com.egantt.drawing.DrawingPainter;
import com.egantt.model.drawing.StateResources;
import com.egantt.model.drawing.painter.PainterResources;
import com.egantt.model.drawing.painter.PainterState;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.Shape;
public class BasicShapePainter implements DrawingPainter
{
// __________________________________________________________________________
public Shape paint(Object key, Graphics g, Rectangle bounds,
PainterState state, GraphicsContext context)
{
Graphics2D g2d = (Graphics2D) g;
Shape shape = (Shape) context.get(key, PainterResources.SHAPE);
if (shape == null)
shape = (Shape) state.get(StateResources.SHAPE);
if (shape != null)
g2d.draw(shape);
return shape;
}
//___________________________________________________________________________
public long width(Object key, Graphics g, Rectangle bounds, GraphicsContext context)
{
return g.getClipBounds().width;
}
}