diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-02-04 23:39:24 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-02-04 23:39:24 +0100 |
| commit | 64308c9e520dbd8e72b675d0ba064ecdaf9bd494 (patch) | |
| tree | ff8dc176d62340df9565e424f19b9d6349c4e8b8 /lib/nes/app/ui/screen-error.hh | |
| parent | 79553ab1fa3d707612e80dd03bf95ca65fa0c411 (diff) | |
add error handling to ui
Diffstat (limited to 'lib/nes/app/ui/screen-error.hh')
| -rw-r--r-- | lib/nes/app/ui/screen-error.hh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/nes/app/ui/screen-error.hh b/lib/nes/app/ui/screen-error.hh new file mode 100644 index 0000000..ec877e1 --- /dev/null +++ b/lib/nes/app/ui/screen-error.hh @@ -0,0 +1,27 @@ +#pragma once + +#include "nes/app/ui/screen.hh" + +namespace nes::app +{ + class input_device_keyboard; + + /// An error popup. + class screen_error final : public screen + { + input_device_keyboard& keyboard_; + std::string_view message_; + status error_{ status::success }; + + public: + explicit screen_error(input_device_keyboard&); + + auto get_message() const -> std::string_view { return message_; } + auto get_error() const -> status { return error_; } + auto set_message(std::string_view const v) { message_ = v; } + auto set_error(status const v) { error_ = v; } + + auto render(renderer&) -> void override; + auto process_events() -> action override; + }; +} // namespace nes::app
\ No newline at end of file |
