package cnp.ew.misc;
import cnp.ew.util.*;
import cnp.ew.displayer.*;
import java.awt.*;
import cnp.ew.lightweight.*;

public class CpImageLc extends CpAbstractLc
{
    CpImageDisplayer imageDisplayer = new CpImageDisplayer();

    public CpImageLc()
    {
        this(null);
    }

    public CpImageLc(Image newImage) {
        this(newImage, CpAlignable.ALIGN_LEFT, CpAlignable.ALIGN_TOP);
    }

    public CpImageLc(Image newImage, int newHorzAlignment, int newVertAlignment)
    {
        super();
        setImage(newImage);
        setHorizontalAlignment(newHorzAlignment);
        setVerticalAlignment(newVertAlignment);
    }

    public void setImage(Image newImage)
    {
        imageDisplayer.setImage(newImage);
    }

    public Image getImage()
    {
        return imageDisplayer.getImage();
    }

    public void setShouldDisplayDisabled(boolean shouldDisplay)
    {
        imageDisplayer.setShouldDisplayDisabled(shouldDisplay);
    }

    public void setHorizontalAlignment(int alignment)
    {
        imageDisplayer.setHorizontalAlignment(alignment);
    }

    public int getHorizontalAlignment()
    {
        return imageDisplayer.getHorizontalAlignment();
    }

    public void setVerticalAlignment(int alignment)
    {
        imageDisplayer.setVerticalAlignment(alignment);
    }

    public int getVerticalAlignment()
    {
        return imageDisplayer.getVerticalAlignment();
    }

    public void paint(Graphics g, Rectangle clipRect)
    {
        imageDisplayer.paintIn(this, g, getClientRect());
    }

    public Dimension preferredSize()
    {
        return borderedPreferredSize(imageDisplayer.preferredSize(this));
    }

	// Hmmm.  Added by Ted 10/29 to avoid mouse clicks getting through to spreadsheet or wp (that we've been inserted in)
	public boolean mouseDown(Event e, int x, int y)
	{
	    return true;
	}
	public boolean mouseUp(Event e, int x, int y)
	{
	    return true;
	}
	public boolean mouseDrag(Event e, int x, int y)
	{
	    return true;
	}
}

