| 519 | } |
| 520 | |
| 521 | void Screen::dismiss(df::viewscreen *screen, bool to_first) |
| 522 | { |
| 523 | CHECK_NULL_POINTER(screen); |
| 524 | |
| 525 | auto it = plugin_screens.find(screen); |
| 526 | if (it != plugin_screens.end()) |
| 527 | plugin_screens.erase(it); |
| 528 | |
| 529 | if (screen->breakdown_level != interface_breakdown_types::NONE) |
| 530 | return; |
| 531 | |
| 532 | if (to_first) |
| 533 | screen->breakdown_level = interface_breakdown_types::TOFIRST; |
| 534 | else |
| 535 | screen->breakdown_level = interface_breakdown_types::STOPSCREEN; |
| 536 | |
| 537 | if (dfhack_viewscreen::is_instance(screen)) |
| 538 | static_cast<dfhack_viewscreen*>(screen)->onDismiss(); |
| 539 | } |
| 540 | |
| 541 | bool Screen::isDismissed(df::viewscreen *screen) |
| 542 | { |
nothing calls this directly
no test coverage detected