static char *sccs_id= (sccs_id, "@(#)ImageShape.c	3.6 7/28/92");

//$ImageShape$
#include "Class.h"
#include "ImageShape.h"

//---- Image Shape --------------------------------------------------------------

MetaImpl(ImageShape, (TP(bm), 0));

ImageShape::ImageShape(Bitmap*b)
{
    if (!b) {
	bbox= gRect0;
	return;
    }
    bm= b;
    bbox= Rectangle(gPoint0, bm->Size());
}

ImageShape::~ImageShape()
{
    SafeDelete(bm);
}

void ImageShape::Draw(Rectangle)
{
    GrFillRect(bbox);
    GrPaintBitMap(bbox, bm, InkPalette[penink]);
}

void ImageShape::Outline(Point p1, Point p2)
{
    Shape::Outline(p1, p2);
    GrStrokeRect(NormRect(p1, p2));
}

#ifdef ET25
OStream& ImageShape::PrintOn(OStream& s)
#else
ostream& ImageShape::PrintOn(ostream& s)
#endif
{
    Shape::PrintOn(s);
    return s << bm;
}

#ifdef ET25
IStream& ImageShape::ReadFrom(IStream& s)
#else
istream& ImageShape::ReadFrom(istream& s)
#endif
{
    Shape::ReadFrom(s);
    SafeDelete(bm);
    return s >> bm;
}
