osb/source/frontend/StarErrorScreen.hpp
2023-06-26 20:40:32 +10:00

50 lines
834 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 useBackdrop = false);
bool handleInputEvent(InputEvent const& event);
void update();
private:
void renderCursor();
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