namespace guip

Overview

Proxy library for working with graphical user interface. More…

namespace guip {

// enums

enum PushButtonTheme;

// classes

class ArrayPanel;
class Combobox;
class Editbox;
class GuiSystem;
class ListboxTextItem;
class Spinner;
class StatusIcon;
class WaitCircle;

// global functions

template <typename CastType = float>
glm::vec<2, CastType> ToVec(const CEGUI::Vector2f& vector);

template <typename CastType = float>
glm::vec<2, CastType> ToVec(const CEGUI::Sizef& size);

GUIP_API std::string ToString(const CEGUI::UDim& dim);
GUIP_API std::string ToString(const CEGUI::UVector2& vec);
GUIP_API std::string ToString(const CEGUI::USize& siz);
GUIP_API void SetTheme(PushButtonTheme theme, CEGUI::Window* btn);
GUIP_API void SetPosition(CEGUI::Window* widget, float x_perc, float x_px, float y_perc, float y_px);
GUIP_API void SetSize(CEGUI::Window* widget, float w_perc, float w_px, float h_perc, float h_px);
GUIP_API void SetDestRect(CEGUI::Window* widget, float x_px, float y_px, float w_px, float h_px);

template <typename WidgetType = CEGUI::Window>
WidgetType* GetHandledObject(const CEGUI::EventArgs& e);

template <typename WidgetType = CEGUI::Window>
WidgetType* CreateWidget(const std::string& type, const std::string& name, CEGUI::Window* parent = nullptr);

template <typename WidgetType = CEGUI::Window>
WidgetType* CreateWidgetFromXml(const std::string& look_xml, CEGUI::Window* parent = nullptr);

template <typename WidgetType = CEGUI::Window>
WidgetType* CreateWidgetFromFile(const std::string& look_file, CEGUI::Window* parent = nullptr);

template <typename WidgetType = CEGUI::Window>
WidgetType* GetChild(const std::string& name, CEGUI::Window* parent);

template <typename WidgetType = CEGUI::Window>
WidgetType* GetChildRecursive(const std::string& name, CEGUI::Window* parent);

template <class C, class P>
CEGUI::Window* FindChild(const C& container, const P& Predicate);

GUIP_API std::vector<CEGUI::Window*> GetChildWidgets(CEGUI::Window* widget, bool exclude_auto_widgets = true);
GUIP_API void RemoveChildWidgets(CEGUI::Window* widget, bool exclude_auto_widgets = true);
GUIP_API void DestroyChildWidgets(CEGUI::Window* widget, bool exclude_auto_widgets = true);
GUIP_API void SetSelectedMuted(const bool state, CEGUI::ToggleButton* button);
GUIP_API bool ImportImage(const std::string& internal_image_name, const std::string& img_path, const glm::uvec2& resolution);
GUIP_API void PrintHierarchy(const CEGUI::Window* window, std::ostream& outs, size_t indent = 0);
GUIP_API void PrintProperties(const CEGUI::Window* window, std::ostream& outs);

} // namespace guip

Detailed Documentation

Proxy library for working with graphical user interface.

Extensions to the CEGUI library.

Global Functions

template <typename CastType = float>
glm::vec<2, CastType> ToVec(const CEGUI::Vector2f& vector)

Converts CEGUI Vector2f to glm::tvec2.

template <typename CastType = float>
glm::vec<2, CastType> ToVec(const CEGUI::Sizef& size)

Converts CEGUI Sizef to glm::tvec2.

GUIP_API std::string ToString(const CEGUI::UDim& dim)

Converts UDim to a string form.

GUIP_API std::string ToString(const CEGUI::UVector2& vec)

Converts UVector to a string form.

GUIP_API std::string ToString(const CEGUI::USize& siz)

Converts USize to a string form.

GUIP_API void SetTheme(PushButtonTheme theme, CEGUI::Window* btn)

Changes a color theme of a DarkHiro/PushButton element.

GUIP_API void SetPosition(CEGUI::Window* widget, float x_perc, float x_px, float y_perc, float y_px)

Sets position for the widget.

GUIP_API void SetSize(CEGUI::Window* widget, float w_perc, float w_px, float h_perc, float h_px)

Sets size for the widget.

GUIP_API void SetDestRect(CEGUI::Window* widget, float x_px, float y_px, float w_px, float h_px)

Sets widgets destination as rectangle in pixels.

template <typename WidgetType = CEGUI::Window>
WidgetType* GetHandledObject(const CEGUI::EventArgs& e)

Returns a pointer to the WigetType as a handle object.

template <typename WidgetType = CEGUI::Window>
WidgetType* CreateWidget(const std::string& type, const std::string& name, CEGUI::Window* parent = nullptr)

Creates new widget and, if parent is not nullptr, assigns as a child to another widget.

template <typename WidgetType = CEGUI::Window>
WidgetType* CreateWidgetFromXml(const std::string& look_xml, CEGUI::Window* parent = nullptr)

Creates new widget from layout xml and, if parent is not nullptr, assigns as a child to another widget.

template <typename WidgetType = CEGUI::Window>
WidgetType* CreateWidgetFromFile(const std::string& look_file, CEGUI::Window* parent = nullptr)

Creates new widget from layout file and, if parent is not nullptr, assigns as a child to another widget.

template <typename WidgetType = CEGUI::Window>
WidgetType* GetChild(const std::string& name, CEGUI::Window* parent)

Return child of specified widget with exact name.

template <typename WidgetType = CEGUI::Window>
WidgetType* GetChildRecursive(const std::string& name, CEGUI::Window* parent)

Returns child of specified widget and all its sub-widgets with exact name.

template <class C, class P>
CEGUI::Window* FindChild(const C& container, const P& Predicate)

Find a child of a CEGUI container that passes given predicate function.

GUIP_API std::vector<CEGUI::Window*> GetChildWidgets(CEGUI::Window* widget, bool exclude_auto_widgets = true)

Returns child widget of a specified window.

GUIP_API void RemoveChildWidgets(CEGUI::Window* widget, bool exclude_auto_widgets = true)

Removes child widgets of a specified window.

GUIP_API void DestroyChildWidgets(CEGUI::Window* widget, bool exclude_auto_widgets = true)

Removes and destroys child widgets of a specified window.

GUIP_API void SetSelectedMuted(const bool state, CEGUI::ToggleButton* button)

Select or un-select specified ToggleButton without calling any events.

GUIP_API bool ImportImage(const std::string& internal_image_name, const std::string& img_path, const glm::uvec2& resolution)

Loads a single image to CEGUI.

Parameters:

internal_image_name

Image set and image name in format [imageset name]/[image name].

img_path

Path to the image.

resolution

Resolution of the image.

GUIP_API void PrintHierarchy(const CEGUI::Window* window, std::ostream& outs, size_t indent = 0)

Prints window hierarchy to output stream.

GUIP_API void PrintProperties(const CEGUI::Window* window, std::ostream& outs)

Prints all properties of a specified widget to output stream.