osb/source/frontend/StarErrorScreen.hpp
2023-06-20 14:33:09 +10:00

52 lines
826 B
C++

#ifndef STAR_ERROR_SCREEN_HPP
#define STAR_ERROR_SCREEN_HPP
#include "StarVector.hpp"
#include "StarString.hpp"
#include "StarInterfaceCursor.hpp"
#include "StarInputEvent.hpp"
namespace Star {
STAR_CLASS(Pane);
STAR_CLASS(PaneManager);
STAR_CLASS(GuiContext);
STAR_CLASS(ErrorScreen);
class ErrorScreen {
public:
ErrorScreen();
// Resets accepted
void setMessage(String const& message);
bool accepted();
void render();
bool handleInputEvent(InputEvent const& event);
void update();
private:
void renderCursor();
void back();
float interfaceScale() const;
unsigned windowHeight() const;
unsigned windowWidth() const;
GuiContext* m_guiContext;
PaneManagerPtr m_paneManager;
PanePtr m_errorPane;
bool m_accepted;
Vec2I m_cursorScreenPos;
InterfaceCursor m_cursor;
};
}
#endif