NAP
Public Member Functions | List of all members
SDLEventConverter Class Referencefinal

#include <sdleventconverter.h>

Public Member Functions

 SDLEventConverter (SDLInputService &service)
 
virtual ~SDLEventConverter ()=default
 
 SDLEventConverter (SDLEventConverter &)=delete
 
SDLEventConverteroperator= (const SDLEventConverter &)=delete
 
 SDLEventConverter (SDLEventConverter &&)=delete
 
SDLEventConverteroperator= (SDLEventConverter &&)=delete
 
bool isInputEvent (SDL_Event &sdlEvent) const
 
nap::InputEventPtr translateInputEvent (SDL_Event &sdlEvent)
 
bool isKeyEvent (SDL_Event &sdlEvent) const
 
nap::InputEventPtr translateKeyEvent (SDL_Event &sdlEvent)
 
bool isMouseEvent (SDL_Event &sdlEvent) const
 
nap::InputEventPtr translateMouseEvent (SDL_Event &sdlEvent)
 
bool isTouchEvent (SDL_Event &sdlEvent) const
 
nap::InputEventPtr translateTouchEvent (SDL_Event &sdlEvent)
 
bool isControllerEvent (SDL_Event &sdlEvent) const
 
nap::InputEventPtr translateControllerEvent (SDL_Event &sdlEvent)
 
bool isWindowEvent (SDL_Event &sdlEvent) const
 
nap::WindowEventPtr translateWindowEvent (SDL_Event &sdlEvent)
 

Description

Converts SDL events into NAP Input Events

Constructor & Destructor Documentation

◆ SDLEventConverter() [1/3]

Constructor requires service to map device information

◆ ~SDLEventConverter()

virtual ~SDLEventConverter ( )
virtualdefault

Default destructor

◆ SDLEventConverter() [2/3]

Copy is not allowed

◆ SDLEventConverter() [3/3]

Move is not allowed

Member Function Documentation

◆ isControllerEvent()

bool isControllerEvent ( SDL_Event &  sdlEvent) const

Utility functions that checks if this is a controller input event (gamepad or joystick).

Parameters
sdlEventthe sdlEvent to verify, both joystick and controller events are considered valid.
Returns
if this SDL event is a controller compatible event

◆ isInputEvent()

bool isInputEvent ( SDL_Event &  sdlEvent) const

Utility function that checks if this is an input event (key, mouse, touch or controller)

Parameters
sdlEventthe sdlEvent to verify
Returns
if this sdl event is an input event

◆ isKeyEvent()

bool isKeyEvent ( SDL_Event &  sdlEvent) const

Utility function that checks if this is a key input event (key press down/up or text input)

Parameters
sdlEventthe sdl event to check
Returns
if the SDL event is an input event

◆ isMouseEvent()

bool isMouseEvent ( SDL_Event &  sdlEvent) const

Utility function that checks if the sdl event is a mouse input event

Parameters
sdlEventthe SDL event to verify
Returns
if the event is a mouse input event

◆ isTouchEvent()

bool isTouchEvent ( SDL_Event &  sdlEvent) const

Utility functions that checks if this is a touch input event.

Parameters
sdlEventthe sdlEvent to verify, touch finger events are considered valid.
Returns
if this SDL event is a touch compatible event

◆ isWindowEvent()

bool isWindowEvent ( SDL_Event &  sdlEvent) const

Utility function to check if the sdl event is a nap window event.

Parameters
sdlEventthe sdl event to verify
Returns
if the sdl event is a window event

◆ operator=() [1/2]

SDLEventConverter& operator= ( const SDLEventConverter )
delete

◆ operator=() [2/2]

SDLEventConverter& operator= ( SDLEventConverter &&  )
delete

◆ translateControllerEvent()

nap::InputEventPtr translateControllerEvent ( SDL_Event &  sdlEvent)

Utility function to convert an SDL event into a nap controller event. This call assumes that the given SDL event can be translated into a NAP controller event! SDL Joystick and SDL Controller events are considered to be valid. Use isControllerEvent() to verify if the events are compatible.

Parameters
sdlEventthe SDL event to translate, can be from a joystick or controller
Returns
a nap controller event, nullptr if event could not be translated

◆ translateInputEvent()

nap::InputEventPtr translateInputEvent ( SDL_Event &  sdlEvent)

Utility function to translate a SDL event to a generic nap InputEvent

Parameters
sdlEventThe event to translate
Returns
Null if the sdlEvent is not an input event (or an unknown input event), the nap event otherwise

◆ translateKeyEvent()

nap::InputEventPtr translateKeyEvent ( SDL_Event &  sdlEvent)

Utility function to translate an SDL event into a NAP key event This call assumes that the given SDL event can be translated into a NAP key event! Use isKeyEvent() to verify if the events are compatible

Parameters
sdlEventthe sdl event to translate
Returns
a nap key event, nullptr if the event could not be translated

◆ translateMouseEvent()

nap::InputEventPtr translateMouseEvent ( SDL_Event &  sdlEvent)

Utility function to translate an SDL event into a NAP mouse event. This call assumes that the given SDL event can be translated into a NAP pointer (mouse) event! Use isMouseEvent() to verify if the events are compatible.

Parameters
sdlEventthe sdl mouse event to translate
Returns
a nap pointer event, nullptr if the event could not be translated

◆ translateTouchEvent()

nap::InputEventPtr translateTouchEvent ( SDL_Event &  sdlEvent)

Utility function to translate an SDL event into a NAP touch event. This call assumes that the given SDL event can be translated into a NAP touch event! Use isTouchEvent() to verify if the events are compatible.

Parameters
sdlEventthe sdl mouse event to translate
Returns
a nap pointer event, nullptr if the event could not be translated

◆ translateWindowEvent()

nap::WindowEventPtr translateWindowEvent ( SDL_Event &  sdlEvent)

Utility function to convert a generic SDL event into a generic nap window event

Parameters
sdlEventThe event to convert to a nap window event.
Returns
Null if the sdlEvent is not a window event or if the event is for a window that has already been destroyed. The nap event otherwise.