summaryrefslogtreecommitdiff
path: root/lib/nes/app/ui/screen-error.hh
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-02-04 23:39:24 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-02-04 23:39:24 +0100
commit64308c9e520dbd8e72b675d0ba064ecdaf9bd494 (patch)
treeff8dc176d62340df9565e424f19b9d6349c4e8b8 /lib/nes/app/ui/screen-error.hh
parent79553ab1fa3d707612e80dd03bf95ca65fa0c411 (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.hh27
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