Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
foray::osi::OsManager Class Reference

Class of which a single instance needs to be present for interaction with the operating system via SDL. More...

#include <foray_osmanager.hpp>

Public Member Functions

InputDeviceMouse ()
 
const InputDeviceMouse () const
 
InputDeviceKeyboard ()
 
const InputDeviceKeyboard () const
 
 OsManager ()
 
 OsManager (const OsManager &other)=delete
 
 OsManager (const OsManager &&other)=delete
 
OsManageroperator= (const OsManager &other)=delete
 
virtual ~OsManager ()
 
virtual std::vector< InputDevice * > InputDevices ()
 A collection of all non-standard input devices recognized by this application.
 
virtual void Init ()
 Inits the SDL subsystem and catalogues input devices.
 
virtual void Destroy ()
 Cleans the SDL subsystem.
 
virtual const EventPollEvent ()
 Polls next event from system event queue. Retuns nullptr if no event present.
 

Static Public Member Functions

static OsManagerInstance ()
 

Protected Member Functions

virtual bool TranslateSDLEvent (const SDL_Event &sdl_event, Event *&out_event)
 Translates SDL event structures to Event class objects.
 
virtual EventTranslateEvent_MouseButton (const SDL_Event &sdl_event)
 
virtual EventTranslateEvent_Keyboard (const SDL_Event &sdl_event)
 
virtual EventTranslateEvent_MouseMoved (const SDL_Event &sdl_event)
 
virtual EventTranslateEvent_MouseScroll (const SDL_Event &sdl_event)
 
virtual EventTranslateEvent_JoyAxis (const SDL_Event &sdl_event)
 
virtual EventTranslateEvent_JoyButton (const SDL_JoyButtonEvent &sdl_event)
 
virtual EventTranslateEvent_JoyDevice (const SDL_JoyDeviceEvent &sdl_event)
 
virtual EventTranslateEvent_WindowClosed (Window *window, uint32_t timestamp)
 
virtual EventTranslateEvent_WindowResized (Window *window, const SDL_WindowEvent &wevent)
 
virtual EventTranslateEvent_WindowFocus (Window *window, const SDL_WindowEvent &wevent, bool mouseonly, bool focus)
 

Protected Attributes

InputDevicemMouse
 Mouse input device. Assumed standard and always present.
 
InputDevicemKeyboard
 Keyboard input device. Assumed standard and always present.
 
std::vector< std::unique_ptr< InputDevice > > mInputDevices
 A collection of all non-standard input devices recognized by this application.
 
EventmLastEvent = nullptr
 

Static Protected Attributes

static OsManagersInstance = nullptr
 

Detailed Description

Class of which a single instance needs to be present for interaction with the operating system via SDL.

Constructor & Destructor Documentation

◆ OsManager() [1/3]

foray::osi::OsManager::OsManager ( )

◆ OsManager() [2/3]

foray::osi::OsManager::OsManager ( const OsManager other)
delete

◆ OsManager() [3/3]

foray::osi::OsManager::OsManager ( const OsManager &&  other)
delete

◆ ~OsManager()

virtual foray::osi::OsManager::~OsManager ( )
virtual

Member Function Documentation

◆ Destroy()

virtual void foray::osi::OsManager::Destroy ( )
virtual

Cleans the SDL subsystem.

◆ Init()

virtual void foray::osi::OsManager::Init ( )
virtual

Inits the SDL subsystem and catalogues input devices.

◆ InputDevices()

virtual std::vector< InputDevice * > foray::osi::OsManager::InputDevices ( )
virtual

A collection of all non-standard input devices recognized by this application.

◆ Instance()

static OsManager * foray::osi::OsManager::Instance ( )
inlinestatic

◆ Keyboard() [1/2]

InputDevice * foray::osi::OsManager::Keyboard ( )
inline

◆ Keyboard() [2/2]

const InputDevice * foray::osi::OsManager::Keyboard ( ) const
inline

◆ Mouse() [1/2]

InputDevice * foray::osi::OsManager::Mouse ( )
inline

◆ Mouse() [2/2]

const InputDevice * foray::osi::OsManager::Mouse ( ) const
inline

◆ operator=()

OsManager & foray::osi::OsManager::operator= ( const OsManager other)
delete

◆ PollEvent()

virtual const Event * foray::osi::OsManager::PollEvent ( )
virtual

Polls next event from system event queue. Retuns nullptr if no event present.

Remarks
The pointer returned is valid until the next time PollEvent() is invoked.

◆ TranslateEvent_JoyAxis()

virtual Event * foray::osi::OsManager::TranslateEvent_JoyAxis ( const SDL_Event &  sdl_event)
protectedvirtual

◆ TranslateEvent_JoyButton()

virtual Event * foray::osi::OsManager::TranslateEvent_JoyButton ( const SDL_JoyButtonEvent &  sdl_event)
protectedvirtual

◆ TranslateEvent_JoyDevice()

virtual Event * foray::osi::OsManager::TranslateEvent_JoyDevice ( const SDL_JoyDeviceEvent &  sdl_event)
protectedvirtual

◆ TranslateEvent_Keyboard()

virtual Event * foray::osi::OsManager::TranslateEvent_Keyboard ( const SDL_Event &  sdl_event)
protectedvirtual

◆ TranslateEvent_MouseButton()

virtual Event * foray::osi::OsManager::TranslateEvent_MouseButton ( const SDL_Event &  sdl_event)
protectedvirtual

◆ TranslateEvent_MouseMoved()

virtual Event * foray::osi::OsManager::TranslateEvent_MouseMoved ( const SDL_Event &  sdl_event)
protectedvirtual

◆ TranslateEvent_MouseScroll()

virtual Event * foray::osi::OsManager::TranslateEvent_MouseScroll ( const SDL_Event &  sdl_event)
protectedvirtual

◆ TranslateEvent_WindowClosed()

virtual Event * foray::osi::OsManager::TranslateEvent_WindowClosed ( Window window,
uint32_t  timestamp 
)
protectedvirtual

◆ TranslateEvent_WindowFocus()

virtual Event * foray::osi::OsManager::TranslateEvent_WindowFocus ( Window window,
const SDL_WindowEvent &  wevent,
bool  mouseonly,
bool  focus 
)
protectedvirtual

◆ TranslateEvent_WindowResized()

virtual Event * foray::osi::OsManager::TranslateEvent_WindowResized ( Window window,
const SDL_WindowEvent &  wevent 
)
protectedvirtual

◆ TranslateSDLEvent()

virtual bool foray::osi::OsManager::TranslateSDLEvent ( const SDL_Event &  sdl_event,
Event *&  out_event 
)
protectedvirtual

Translates SDL event structures to Event class objects.

Member Data Documentation

◆ mInputDevices

std::vector<std::unique_ptr<InputDevice> > foray::osi::OsManager::mInputDevices
protected

A collection of all non-standard input devices recognized by this application.

◆ mKeyboard

InputDevice* foray::osi::OsManager::mKeyboard
protected

Keyboard input device. Assumed standard and always present.

◆ mLastEvent

Event* foray::osi::OsManager::mLastEvent = nullptr
protected

◆ mMouse

InputDevice* foray::osi::OsManager::mMouse
protected

Mouse input device. Assumed standard and always present.

◆ sInstance

OsManager* foray::osi::OsManager::sInstance = nullptr
inlinestaticprotected

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