Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
ion::CGUIManager Class Reference

#include <CGUIManager.h>

Inheritance diagram for ion::CGUIManager:
Inheritance graph
[legend]
Collaboration diagram for ion::CGUIManager:
Collaboration graph
[legend]

Classes

struct  SDrawText
 

Public Member Functions

bool Init (CWindow *Window)
 
void Shutdown ()
 
void NewFrame ()
 
void Draw ()
 
template<typename... Args>
void Text (vec2i const &Position, color3i const &Color, char const *const Format, Args const &...args)
 
void TextUnformatted (vec2i const &Position, color3i const &Color, string const &Text)
 
void OnEvent (IEvent &Event)
 
void AddFontFromFile (string const &FileName, float const Size)
 
- Public Member Functions inherited from IEventListener
void AddListener (IEventListener *Listener)
 
void RemoveListener (IEventListener *Listener)
 
void TriggerEvent (IEvent &Event)
 
- Public Member Functions inherited from ion::IMultiTreeNode< IEventListener >
set< IEventListener * > const & GetChildren () const
 
void AddChild (IEventListener *Child)
 
void RemoveChild (IEventListener *Child)
 
void RemoveAllChildren ()
 
void RecurseOnChildren (Return(IEventListener::*Function)())
 
void RecurseOnChildren (Return(IEventListener::*Function)(P1), P1 p1)
 
void RecurseOnChildren (Return(IEventListener::*Function)(P1, P2), P1 p1, P2 p2)
 

Static Public Member Functions

static ImTextureID GetTextureID (SharedPointer< Graphics::ITexture2D > const Texture)
 
- Static Public Member Functions inherited from ion::Singleton< Implementation >
static Implementation & Get ()
 
static Implementation * GetPointer ()
 

Public Attributes

ImGuiIO & IO = ImGui::GetIO()
 

Protected Member Functions

void DrawCallback (ImDrawData *draw_data)
 
void CreateFontsTexture ()
 
bool CreateDeviceObjects ()
 
- Protected Member Functions inherited from ion::Singleton< Implementation >
 Singleton ()
 
- Protected Member Functions inherited from ion::IMultiTreeNode< IEventListener >
 IMultiTreeNode ()
 

Protected Attributes

size_t const StartVboMaxSize = 20000
 
CWindowWindow = nullptr
 
double Time = 0
 
bool MouseWasPressed [3]
 
bool MouseHeld [3]
 
float MouseWheel = 0
 
uint FontTexture = 0
 
int ShaderHandle = 0
 
int VertHandle = 0
 
int FragHandle = 0
 
int AttribLocationTex = 0
 
int AttribLocationProjMtx = 0
 
int AttribLocationPosition = 0
 
int AttribLocationUV = 0
 
int AttribLocationColor = 0
 
uint VboHandle = 0
 
uint VaoHandle = 0
 
uint ElementsHandle = 0
 
vector< SDrawTextTextQueue
 
- Protected Attributes inherited from ion::IMultiTreeNode< IEventListener >
set< IEventListener * > Children
 

Friends

class Singleton< CGUIManager >
 
void ImGui_ImplGlfwGL3_RenderDrawLists (ImDrawData *draw_data)
 
char const * ImGui_ImplGlfwGL3_GetClipboardText (void *user_data)
 
void ImGui_ImplGlfwGL3_SetClipboardText (void *user_data, char const *text)
 

Member Function Documentation

void ion::CGUIManager::AddFontFromFile ( string const &  FileName,
float const  Size 
)
bool ion::CGUIManager::CreateDeviceObjects ( )
protected
void ion::CGUIManager::CreateFontsTexture ( )
protected
void ion::CGUIManager::Draw ( )
void ion::CGUIManager::DrawCallback ( ImDrawData *  draw_data)
protected
ImTextureID ion::CGUIManager::GetTextureID ( SharedPointer< Graphics::ITexture2D > const  Texture)
static
bool ion::CGUIManager::Init ( CWindow Window)
void ion::CGUIManager::NewFrame ( )
void ion::CGUIManager::OnEvent ( IEvent Event)
virtual

Reimplemented from IEventListener.

void ion::CGUIManager::Shutdown ( )
template<typename... Args>
void ion::CGUIManager::Text ( vec2i const &  Position,
color3i const &  Color,
char const *const  Format,
Args const &...  args 
)
inline
void ion::CGUIManager::TextUnformatted ( vec2i const &  Position,
color3i const &  Color,
string const &  Text 
)

Friends And Related Function Documentation

char const* ImGui_ImplGlfwGL3_GetClipboardText ( void *  user_data)
friend
void ImGui_ImplGlfwGL3_RenderDrawLists ( ImDrawData *  draw_data)
friend
void ImGui_ImplGlfwGL3_SetClipboardText ( void *  user_data,
char const *  text 
)
friend
friend class Singleton< CGUIManager >
friend

Member Data Documentation

int ion::CGUIManager::AttribLocationColor = 0
protected
int ion::CGUIManager::AttribLocationPosition = 0
protected
int ion::CGUIManager::AttribLocationProjMtx = 0
protected
int ion::CGUIManager::AttribLocationTex = 0
protected
int ion::CGUIManager::AttribLocationUV = 0
protected
uint ion::CGUIManager::ElementsHandle = 0
protected
uint ion::CGUIManager::FontTexture = 0
protected
int ion::CGUIManager::FragHandle = 0
protected
ImGuiIO& ion::CGUIManager::IO = ImGui::GetIO()
bool ion::CGUIManager::MouseHeld[3]
protected
bool ion::CGUIManager::MouseWasPressed[3]
protected
float ion::CGUIManager::MouseWheel = 0
protected
int ion::CGUIManager::ShaderHandle = 0
protected
size_t const ion::CGUIManager::StartVboMaxSize = 20000
protected
vector<SDrawText> ion::CGUIManager::TextQueue
protected
double ion::CGUIManager::Time = 0
protected
uint ion::CGUIManager::VaoHandle = 0
protected
uint ion::CGUIManager::VboHandle = 0
protected
int ion::CGUIManager::VertHandle = 0
protected
CWindow* ion::CGUIManager::Window = nullptr
protected

The documentation for this class was generated from the following files: