ultimatepp/bazaar/MapBG/MipMap.cpp
Sc0rch 9959d8888c MapRender: First release (FormEditorCommon, FormEditorProperties, Map, MapBG, MapCommon, MapEditor, MapRenderTest.
git-svn-id: svn://ultimatepp.org/upp/trunk@4180 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2011-11-18 06:28:11 +00:00

37 lines
663 B
C++

#include "MipMap.h"
#include <Painter/Painter.h>
void MipMapItem::Render(Draw* w, const Rect& r)
{
if (w)
w->DrawImage(r, _mipMap);
}
void MipMapItem::Prepare(const char* fp, const Size& sz)
{
if (_ready)
return;
_ready = true;
FileIn in(fp);
One<StreamRaster> r = StreamRaster::OpenAny(in);
if (!r)
{
LOG(NFormat("Ошибка при загрузке файла карты: %s", fp));
ImageBuffer ib(sz);
BufferPainter sw(ib);
sw.DrawRect(sz, Yellow());
_mipMap = ib;
return;
}
_mipMap = r->GetImage();
}
void MipMapItem::Release()
{
if (!_ready)
return;
_mipMap.Clear();
_ready = false;
}