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

#include <CWindowManager.h>

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

Public Member Functions

void Init (CGraphicsAPI *GraphicsAPI)
 
void PollEvents ()
 
bool ShouldClose () const
 
bool Run ()
 
CWindowCreateWindow (vec2i const &Size, std::string const &Title, EWindowType const Type, EVsyncMode const Vsync=EVsyncMode::Default)
 
CWindowCreateWindowOnMonitor (int const Monitor, std::string const &Title, EVsyncMode const Vsync=EVsyncMode::Default)
 
- Public Member Functions inherited from IEventListener
virtual void OnEvent (IEvent &Event)
 
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 Protected Member Functions

static void KeyCallback (GLFWwindow *window, int key, int scancode, int action, int mods)
 
static void MouseButtonCallback (GLFWwindow *window, int button, int action, int mods)
 
static void MouseScrollCallback (GLFWwindow *window, double xoffset, double yoffset)
 
static void MouseCursorCallback (GLFWwindow *window, double xpos, double ypos)
 
static void CharCallback (GLFWwindow *window, unsigned int c)
 
static void DropCallback (GLFWwindow *window, int count, const char **paths)
 

Protected Attributes

CGraphicsAPIGraphicsAPI = nullptr
 
CWindowPrimaryWindow = nullptr
 
std::map< GLFWwindow *, CWindow * > Windows
 
- Protected Attributes inherited from ion::IMultiTreeNode< IEventListener >
set< IEventListener * > Children
 

Friends

class Singleton< CWindowManager >
 

Additional Inherited Members

- Static Public Member Functions inherited from ion::Singleton< Implementation >
static Implementation & Get ()
 
static Implementation * GetPointer ()
 
- Protected Member Functions inherited from ion::Singleton< Implementation >
 Singleton ()
 
- Protected Member Functions inherited from ion::IMultiTreeNode< IEventListener >
 IMultiTreeNode ()
 

Member Function Documentation

void ion::CWindowManager::CharCallback ( GLFWwindow *  window,
unsigned int  c 
)
staticprotected
CWindow * ion::CWindowManager::CreateWindow ( vec2i const &  Size,
std::string const &  Title,
EWindowType const  Type,
EVsyncMode const  Vsync = EVsyncMode::Default 
)
CWindow * ion::CWindowManager::CreateWindowOnMonitor ( int const  Monitor,
std::string const &  Title,
EVsyncMode const  Vsync = EVsyncMode::Default 
)
void ion::CWindowManager::DropCallback ( GLFWwindow *  window,
int  count,
const char **  paths 
)
staticprotected
void ion::CWindowManager::Init ( CGraphicsAPI GraphicsAPI)
void ion::CWindowManager::KeyCallback ( GLFWwindow *  window,
int  key,
int  scancode,
int  action,
int  mods 
)
staticprotected
void ion::CWindowManager::MouseButtonCallback ( GLFWwindow *  window,
int  button,
int  action,
int  mods 
)
staticprotected
void ion::CWindowManager::MouseCursorCallback ( GLFWwindow *  window,
double  xpos,
double  ypos 
)
staticprotected
void ion::CWindowManager::MouseScrollCallback ( GLFWwindow *  window,
double  xoffset,
double  yoffset 
)
staticprotected
void ion::CWindowManager::PollEvents ( )
bool ion::CWindowManager::Run ( )
bool ion::CWindowManager::ShouldClose ( ) const

Friends And Related Function Documentation

friend class Singleton< CWindowManager >
friend

Member Data Documentation

CGraphicsAPI* ion::CWindowManager::GraphicsAPI = nullptr
protected
CWindow* ion::CWindowManager::PrimaryWindow = nullptr
protected
std::map<GLFWwindow *, CWindow *> ion::CWindowManager::Windows
protected

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