Skip to content

Commit 4a56f92

Browse files
committed
Clean up frame implementation
1 parent 7056bf6 commit 4a56f92

File tree

1 file changed

+22
-27
lines changed

1 file changed

+22
-27
lines changed

src/gui_frame.cpp

+22-27
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ frame::~frame() {
4848
// Children must be destroyed first
4949
child_list_.clear();
5050
region_list_.clear();
51+
title_region_ = nullptr;
5152

5253
if (!is_virtual_) {
5354
// Tell the renderer to no longer render this region
@@ -63,17 +64,18 @@ void frame::render() const {
6364
if (!is_visible_ || !is_ready_)
6465
return;
6566

66-
if (backdrop_)
67+
if (backdrop_) {
6768
backdrop_->render();
69+
}
6870

6971
// Render child regions
7072
for (const auto& layer : layer_list_) {
71-
if (layer.is_disabled)
73+
if (layer.is_disabled) {
7274
continue;
75+
}
7376

7477
for (const auto& reg : layer.region_list) {
75-
if (reg->is_shown())
76-
reg->render();
78+
reg->render();
7779
}
7880
}
7981
}
@@ -1514,42 +1516,35 @@ void frame::update_borders_() {
15141516
}
15151517

15161518
void frame::update(float delta) {
1517-
//#define DEBUG_LOG(msg) gui::out << (msg) << std::endl
1518-
#define DEBUG_LOG(msg)
1519-
15201519
alive_checker checker(*this);
15211520

1522-
DEBUG_LOG(" ~");
15231521
base::update(delta);
1524-
DEBUG_LOG(" #");
15251522

15261523
if (build_layer_list_flag_) {
1527-
DEBUG_LOG(" Build layers");
15281524
// Clear layers' content
15291525
for (auto& layer : layer_list_)
15301526
layer.region_list.clear();
15311527

15321528
// Fill layers with regions (with font_string rendered last within the same layer)
15331529
for (const auto& reg : region_list_) {
1534-
if (reg && reg->get_object_type() != "font_string")
1530+
if (reg && !reg->is_object_type("font_string")) {
15351531
layer_list_[static_cast<std::size_t>(reg->get_draw_layer())].region_list.push_back(
15361532
reg);
1533+
}
15371534
}
15381535

15391536
for (const auto& reg : region_list_) {
1540-
if (reg && reg->get_object_type() == "font_string")
1537+
if (reg && reg->is_object_type("font_string")) {
15411538
layer_list_[static_cast<std::size_t>(reg->get_draw_layer())].region_list.push_back(
15421539
reg);
1540+
}
15431541
}
15441542

15451543
build_layer_list_flag_ = false;
15461544
}
15471545

15481546
if (is_visible()) {
1549-
DEBUG_LOG(" On update");
1550-
event_data data;
1551-
data.add(delta);
1552-
fire_script("OnUpdate", data);
1547+
fire_script("OnUpdate", {delta});
15531548
if (!checker.is_alive())
15541549
return;
15551550
}
@@ -1558,9 +1553,9 @@ void frame::update(float delta) {
15581553
title_region_->update(delta);
15591554

15601555
// Update regions
1561-
DEBUG_LOG(" Update regions");
1562-
for (auto& obj : get_regions())
1556+
for (auto& obj : get_regions()) {
15631557
obj.update(delta);
1558+
}
15641559

15651560
// Remove deleted regions
15661561
{
@@ -1571,7 +1566,6 @@ void frame::update(float delta) {
15711566
}
15721567

15731568
// Update children
1574-
DEBUG_LOG(" Update children");
15751569
for (auto& child : get_children()) {
15761570
child.update(delta);
15771571
if (!checker.is_alive())
@@ -1587,24 +1581,25 @@ void frame::update(float delta) {
15871581
}
15881582

15891583
// Remove empty handlers
1590-
for (auto iter_list = signal_list_.begin(); iter_list != signal_list_.end();) {
1591-
if (iter_list->second.empty())
1592-
iter_list = signal_list_.erase(iter_list);
1593-
else
1594-
++iter_list;
1584+
{
1585+
auto iter_list = signal_list_.begin();
1586+
while (iter_list != signal_list_.end()) {
1587+
if (iter_list->second.empty()) {
1588+
iter_list = signal_list_.erase(iter_list);
1589+
} else {
1590+
++iter_list;
1591+
}
1592+
}
15951593
}
15961594

15971595
vector2f new_size = get_apparent_dimensions();
15981596
if (old_size_ != new_size) {
1599-
DEBUG_LOG(" On size changed");
16001597
fire_script("OnSizeChanged");
16011598
if (!checker.is_alive())
16021599
return;
16031600

16041601
old_size_ = new_size;
16051602
}
1606-
1607-
DEBUG_LOG(" .");
16081603
}
16091604

16101605
} // namespace lxgui::gui

0 commit comments

Comments
 (0)