You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.2 KiB
53 lines
1.2 KiB
/**
|
|
* \file InputProcessor.h
|
|
* \brief Define a structure, InputProcessor and functions to convert SDL_event to envent for Pontu
|
|
* \author Martin Rouault
|
|
* \date 06/12/2021
|
|
*/
|
|
|
|
#ifndef INPUT_PROCESSOR_INCLUDED
|
|
#define INPUT_PROCESSOR_INCLUDED
|
|
|
|
#include "engine/Button.h"
|
|
#include "engine/arrayButton.h"
|
|
#include "engine/TextInput.h"
|
|
#include "engine/arrayTextInput.h"
|
|
#include "engine/InputElement.h"
|
|
|
|
/**
|
|
* \struct InputProcessor
|
|
* \brief Contains datas useful to handle input
|
|
*/
|
|
typedef struct
|
|
{
|
|
struct array_P_Button tabButton;
|
|
struct array_TextInput tabTextInput;
|
|
TextInput* selectedTextInput;
|
|
} InputProcessor;
|
|
|
|
|
|
/**
|
|
* \brief Create a new input processor
|
|
*
|
|
* \return A new input processor
|
|
*/
|
|
InputProcessor createInputProcessor();
|
|
|
|
/**
|
|
* @brief Free a game input processor
|
|
*
|
|
* @param inputProcessor the game input processor to free (do not use after freeing)
|
|
*/
|
|
void freeInputProcessor(InputProcessor* inputProcessor);
|
|
|
|
|
|
/**
|
|
* \brief Poll and convert SDL_Events into specific event for Pontu
|
|
*
|
|
* \param [in, out] inputProcessor The input processor which keeps a state of input in between calls
|
|
* \return InputElement : an event for Pontu
|
|
*/
|
|
InputElement proccessInput(InputProcessor* inputProcessor);
|
|
|
|
#endif // INPUT_PROCESSOR_INCLUDED
|