| 62 | } |
| 63 | |
| 64 | void HUDDialogStack::pop() { |
| 65 | if (isActive()) { |
| 66 | const int index = (int)stack.size() - 1; |
| 67 | stack[index]->dismiss(); |
| 68 | std::vector<HUDDialog*>::iterator it = stack.begin(); |
| 69 | for (int i = 0; i < index; i++) { it++; } |
| 70 | stack.erase(it); |
| 71 | if (index > 0) { |
| 72 | HUDDialog* dialog = stack[index - 1]; |
| 73 | HUDui::setDefaultKey(dialog->getDefaultKey()); |
| 74 | dialog->reFocus(); |
| 75 | dialog->resize(getMainWindow()->getWidth(), |
| 76 | getMainWindow()->getHeight()); |
| 77 | dialog->show(); |
| 78 | } |
| 79 | else { |
| 80 | HUDui::setDefaultKey(NULL); |
| 81 | HUDui::setFocus(NULL); |
| 82 | getMainWindow()->getWindow()->removeResizeCallback(resize, this); |
| 83 | } |
| 84 | } |
| 85 | } |
| 86 | |
| 87 | void HUDDialogStack::render() { |
| 88 | if (isActive()) { |
no test coverage detected