SDLGameEngine

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# include/sgegamestate.h

Go to the documentation of this file.

    00001 #ifndef _SGEGAMESTATE_H
    00002 #define _SGEGAMESTATE_H
    00003
    00004 #ifdef __cplusplus
    00005 extern "C" {
    00006 #endif
    00007
    00012 /*
    00013  * Copyright (c) 2007 Heiko Irrgang
    00014  *
    00015  * The license and distribution terms for this file may be
    00016  * found in the file COPYING in this distribution or at
    00017  * http://93-interactive.com/cms/products/software/sdl-game-engine/license/
    00018  */
    00019
    00033 struct _SGEGAMESTATE;
    00034
    00041 typedef struct {
    00043         int quit;
    00044         SGEEVENTSTATE event_state;
    00045         struct _SGEGAMESTATE *current;
    00046 } SGEGAMESTATEMANAGER;
    00047
    00055 typedef struct _SGEGAMESTATE {
    00057         SGEGAMESTATEMANAGER *manager;
    00058
    00060         void *data;
    00061
    00066         void (*onRedraw)(struct _SGEGAMESTATE *state);
    00067
    00076         int (*onKeyDown)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00077
    00086         int (*onKeyUp)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00087
    00096         int (*onJoystickButtonDown)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00097
    00106         int (*onJoystickButtonUp)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00107
    00113         void (*onJoystickMove)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00114
    00120         void (*onMouseDown)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00121
    00127         void (*onMouseUp)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00128
    00134         void (*onMouseMove)(struct _SGEGAMESTATE *state, SGEEVENT *event);
    00135
    00142         int (*onStateChange)(struct _SGEGAMESTATE *state, struct _SGEGAMESTATE* previous);
    00143 } SGEGAMESTATE;
    00144
    00148 SGEGAMESTATEMANAGER* sgeGameStateManagerNew(void);
    00149
    00155 int sgeGameStateManagerChange(SGEGAMESTATEMANAGER *manager, SGEGAMESTATE *next_state);
    00156
    00162 void sgeGameStateManagerRun(SGEGAMESTATEMANAGER* manager, int fps);
    00163
    00167 void sgeGameStateManagerQuit(SGEGAMESTATEMANAGER* manager);
    00168
    00178 SGEGAMESTATE* sgeGameStateNew(void);
    00179
    00180 // }@
    00181
    00182 #ifdef __cplusplus
    00183 }
    00184 #endif
    00185
    00186 #endif

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines