/** \brief Header file for the IMGUI widgets * * \todo [med] Cyclying through widgets via tab and shift-tab */ #ifndef _IMGUICONTROLS_H #define _IMGUICONTROLS_H #include #include namespace Engine { /** \brief IMGUI widgets and functions */ namespace GUI { /** \brief Checks whether the mouse is in the given rectangle */ bool regionhit (int x, int y, int w, int h); /** \brief Draws a label at the given position with vertical center at y */ void Label (int id, const char* caption, int x, int y); /** \brief Draws a label centered at the given position with vertical center at y */ void LabelCentered (int id, const char* caption, int x, int y); /** \brief Draws a button at the given position * * The caption will be centered in the middle of the clickable area. * * \returns true if it was clicked * */ bool Button (int id, const char* caption, int x, int y, int w, int h); bool LineEdit (int id, int x, int y, std::string &text_value, const int &maxlength); /** \brief Checks whether a given key was pressed * * This function can be used to check whether a single key (e.g. ESC) was * pressed. This is useful when one wants to abort an action or quit from the * main screen by pressing a single key. */ bool CheckKeyPress (int keycode); }; }; #endif /* _IMGUICONTROLS_H */