33#ifndef DVD_GUI_INTERFACE_H_
34#define DVD_GUI_INTERFACE_H_
65 template <
typename T>
requires std::is_base_of_v<GUIElement, T>
70 template <
typename T>
requires std::is_base_of_v<GUIElement, T>
80 bool multiLine =
false,
83 virtual GUIText*
modifyText(
const char* name,
const string& text,
bool multiLine);
87 const string& message,
94 const string& rootSheetID =
"");
100 virtual CEGUI::Window*
createWindow(
const CEGUI::String& type,
const CEGUI::String& name);
Graphical User Interface.
virtual GUIMessageBox * addMsgBox(const char *name, const string &title, const string &message, vec2< I32 > offsetFromCentre=vec2< I32 >(0))
virtual CEGUI::Window * createWindow(const CEGUI::String &type, const CEGUI::String &name)
void onLanguageChange(std::string_view newLanguage)
const GUI & getParentContext() const noexcept
T * getGUIElement(const I64 elementID) const
virtual GUIFlash * addFlash(const char *name, const RelativePosition2D &position, const RelativeScale2D &size)
virtual CEGUI::Window * loadWindowFromLayoutFile(const char *layoutFileName)
virtual GUIText * addText(const char *name, const RelativePosition2D &position, const string &font, const UColour4 &colour, const string &text, bool multiLine=false, U8 fontSize=16u)
DELEGATE< void, I64 > ButtonCallback
virtual GUIElement * getGUIElementImpl(U64 elementName, GUIType type) const
T * getGUIElement(const U64 elementName) const
Get a pointer to an element by name/id.
virtual GUIButton * addButton(const char *name, const string &text, const RelativePosition2D &offset, const RelativeScale2D &size, const string &rootSheetID="")
virtual bool unloadWindow(CEGUI::Window *&window)
hashMap< U64, std::pair< GUIElement *, bool > > GUIMap
void addElement(U64 id, GUIElement *element)
virtual GUIText * modifyText(const char *name, const string &text, bool multiLine)
std::array< GUIMap, to_base(GUIType::COUNT)> _guiElements
GUI & getParentContext() noexcept
constexpr Optick::Category::Type GUI
Handle console commands that start with a forward slash.
DELEGATE_STD< Ret, Args... > DELEGATE
hashAlg::unordered_map< K, V, HashFun, Predicate > hashMap
constexpr auto to_base(const Type value) -> Type