osb/source/frontend/StarErrorScreen.hpp
2024-02-25 15:46:47 +01:00

47 lines
787 B
C++

#pragma once
#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(float dt);
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;
};
}