-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathrender_layer.cpp
44 lines (35 loc) · 998 Bytes
/
render_layer.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "weblegends.h"
#include "helpers.h"
#include "df/feature.h"
#include "df/feature_init.h"
#include "df/world.h"
#include "df/world_data.h"
#include "df/world_underground_region.h"
REQUIRE_GLOBAL(world)
bool WebLegends::render_layer(Layout & l, int32_t id, int32_t page)
{
CoreSuspender suspend;
auto layer = df::world_underground_region::find(id);
if (layer == nullptr)
{
return false;
}
simple_header(l, layer);
auto & s = l.content;
render_map_coords(s, layer->region_coords);
s << "<p>";
categorize(s, layer);
s << "</p>";
auto feature = layer->feature_init ? layer->feature_init->getFeature() : nullptr;
if (feature)
{
render_world_populations(s, get_name(layer), feature->population, "layer", id);
}
int32_t last_page;
if (!history(s, layer, page, last_page))
{
return false;
}
pagination(s, stl_sprintf("layer-%d", id), "", "?page=", page, last_page);
return true;
}