ultimatepp/bazaar/Map/MapRender.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

51 lines
1 KiB
C++

#include "MapLevel.h"
void MapLevel::Paint(Draw& w)
{
w.DrawRect(Ctrl::GetSize(), SColorPaper());
Render(&w);
}
void MapLevel::Render(Draw* w)
{
for (int i = 0; i < _layers.GetCount(); ++i)
if (_layers[i] && _layers[i]->IsShown())
_layers[i]->Render(w);
IMapRender::Render(w);
RenderInfo(w);
if (IsEditMode())
for (int i = 0; i < _editModePoints.GetCount(); ++i)
{
Point p = ViewToScene(_editModePoints[i]);
Rect r(Point(p.x - 4, p.y - 4), Size(8, 8));
w->DrawRect(r, Black());
r.Deflate(1, 1);
w->DrawRect(r, LtRed());
}
}
void RenderText(Draw* w, Point pos, const char* text)
{
Size sz = GetTextSize(text, StdFont());
Rect r(pos, sz + Size(8, 8));
w->DrawRect(r, Black());
r.Deflate(1, 1);
w->DrawRect(r, White());
w->DrawText(pos.x + 4, pos.y + 4, text);
}
void MapLevel::RenderInfo(Draw* w)
{
if (!IsEditMode())
return;
// RenderText(w, Point(100, 11), "Pos: " + GetMousePos().ToString());
}
void MapLevel::RefreshView()
{
Refresh();
}