From 64308c9e520dbd8e72b675d0ba064ecdaf9bd494 Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Tue, 4 Feb 2025 23:39:24 +0100 Subject: add error handling to ui --- lib/nes/app/ui/screen-error.hh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lib/nes/app/ui/screen-error.hh (limited to 'lib/nes/app/ui/screen-error.hh') 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 -- cgit v1.3.1