57 #ifndef ZENI_GAMESTATE_H
58 #define ZENI_GAMESTATE_H
64 #if SDL_VERSION_ATLEAST(2,0,0)
66 #elif !defined(ANDROID)
67 #include <SDL/SDL_keysym.h>
79 class ZENI_REST_DLL Gamestate;
100 virtual void perform_logic() {}
108 virtual void on_push();
110 virtual void on_cover();
112 virtual void on_uncover();
114 virtual void on_pop();
116 inline const bool & is_pausable()
const;
117 inline void set_pausable(
const bool &pausable_);
136 #if SDL_VERSION_ATLEAST(1,3,0)
146 #if SDL_VERSION_ATLEAST(1,3,0)
150 #if !SDL_VERSION_ATLEAST(2,0,0)
151 virtual void on_active(
const SDL_ActiveEvent &
event);
152 virtual void on_video_resize(
const SDL_ResizeEvent &
event);
154 #if !SDL_VERSION_ATLEAST(1,3,0)
155 virtual void on_video_expose(
const SDL_ExposeEvent &
event);
162 inline void increment();
163 inline void decrement();
181 inline void on_event(
const SDL_Event &event);
183 inline void perform_logic();
184 inline void prerender();
187 inline void on_push();
188 inline void on_cover();
189 inline void on_uncover();
190 inline void on_pop();
192 inline const bool & is_pausable()
const;
The "quit requested" event.
Controller device event structure (event.cdevice.*)
static void render(const Vertex_Buffer_Macrorenderer ¯orenderer, std::vector< Vertex_Buffer::Vertex_Buffer_Range * > &descriptors)
The SDL keysym structure, used in key events.
Game controller axis motion event structure (event.caxis.*)
Sint32 SDL_Keycode
The SDL virtual key representation.
struct SDL_Keysym SDL_Keysym
The SDL keysym structure, used in key events.
virtual ~Gamestate_Base()
virtual void prerender()
No actual rendering, but any logic strictly necessary for rendering.
A user-defined event type (event.user.*)
Keyboard button event structure (event.key.*)
A smartpointer for a Gamestate_Base.
Mouse wheel event structure (event.wheel.*)
Window state change event data (event.window.*)
Mouse motion event structure (event.motion.*)
The base class for all gamestates.
A video driver dependent system event (event.syswm.*) This event is disabled by default, you can enable it with SDL_EventState()