mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
51 lines
1 KiB
C++
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();
|
|
}
|