FileDocCategorySizeDatePackage
Arc.javaAPI DocApache Ant 1.704090Wed Dec 13 06:16:18 GMT 2006org.apache.tools.ant.types.optional.image

Arc

public class Arc extends BasicShape implements DrawOperation
Draw an arc.

Fields Summary
protected int
width
protected int
height
protected int
start
protected int
stop
protected int
type
Constructors Summary
Methods Summary
public javax.media.jai.PlanarImageexecuteDrawOperation()
{@inheritDoc}.

        BufferedImage bi = new BufferedImage(width + (stroke_width * 2),
            height + (stroke_width * 2), BufferedImage.TYPE_4BYTE_ABGR_PRE);

        Graphics2D graphics = (Graphics2D) bi.getGraphics();

        if (!stroke.equals("transparent")) {
            BasicStroke bStroke = new BasicStroke(stroke_width);
            graphics.setColor(ColorMapper.getColorByName(stroke));
            graphics.setStroke(bStroke);
            graphics.draw(new Arc2D.Double(stroke_width, stroke_width, width,
                height, start, stop, type));
        }

        if (!fill.equals("transparent")) {
            graphics.setColor(ColorMapper.getColorByName(fill));
            graphics.fill(new Arc2D.Double(stroke_width, stroke_width,
                width, height, start, stop, type));
        }


        for (int i = 0; i < instructions.size(); i++) {
            ImageOperation instr = ((ImageOperation) instructions.elementAt(i));
            if (instr instanceof DrawOperation) {
                PlanarImage img = ((DrawOperation) instr).executeDrawOperation();
                graphics.drawImage(img.getAsBufferedImage(), null, 0, 0);
            } else if (instr instanceof TransformOperation) {
                graphics = (Graphics2D) bi.getGraphics();
                PlanarImage image = ((TransformOperation) instr)
                    .executeTransformOperation(PlanarImage.wrapRenderedImage(bi));
                bi = image.getAsBufferedImage();
            }
        }
        return PlanarImage.wrapRenderedImage(bi);
    
public voidsetHeight(int height)
Set the height.

param
height the height of the arc.

        this.height = height;
    
public voidsetStart(int start)
Set the start of the arc.

param
start the start of the arc.

        this.start = start;
    
public voidsetStop(int stop)
Set the stop of the arc.

param
stop the stop of the arc.

        this.stop = stop;
    
public voidsetType(java.lang.String strType)
Set the type of arc.

param
strType the type to use - open, pie or chord.
todo
refactor using an EnumeratedAttribute

        if (strType.toLowerCase().equals("open")) {
            type = Arc2D.OPEN;
        } else if (strType.toLowerCase().equals("pie")) {
            type = Arc2D.PIE;
        } else if (strType.toLowerCase().equals("chord")) {
            type = Arc2D.CHORD;
        }
    
public voidsetWidth(int width)
Set the width.

param
width the width of the arc.

    // CheckStyle:VisibilityModifier ON

                   
        
        this.width = width;