#include "WonderBrushImage.h"
#include "Canvas.h"
WonderBrushImage::WonderBrushImage()
: fArchive((uint32)0)
{
}
WonderBrushImage::~WonderBrushImage()
{
}
status_t
WonderBrushImage::SetTo(BPositionIO* stream)
{
if (!stream)
return B_BAD_VALUE;
fArchive.MakeEmpty();
status_t status = fArchive.Unflatten(stream);
if (status < B_OK)
return status;
if (fArchive.HasMessage("layer") && fArchive.HasRect("bounds"))
return B_OK;
return B_ERROR;
}
BBitmap*
WonderBrushImage::Bitmap() const
{
Canvas canvas(BRect(0.0, 0.0, -1.0, -1.0));
if (canvas.Unarchive(&fArchive) < B_OK)
return NULL;
return canvas.Bitmap();
}