* Copyright 2006, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Stephan Aßmus <superstippi@gmx.de>
*/
#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();
}