52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
/** \brief Header file for the IMGUI widgets
|
|
*
|
|
* \todo [med] Cyclying through widgets via tab and shift-tab
|
|
*/
|
|
#ifndef _IMGUICONTROLS_H
|
|
#define _IMGUICONTROLS_H
|
|
|
|
#include <SDL/SDL.h>
|
|
#include <string>
|
|
|
|
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);
|
|
|
|
float VerticalSlider (int id, int x, int y, int w, int h, float min_value, float max_value, float &value);
|
|
|
|
/** \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 */
|