world.h 1004 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef WORLD_H
  2. #define WORLD_H
  3. #include "SDL2/SDL.h"
  4. /* special keyes */
  5. #define DD_KEY_STATE_PRESSED 1
  6. #define DD_KEY_STATE_RELEASED 0
  7. void (*dd_world_update)(void*);
  8. void (*dd_world_draw)(void*);
  9. void (*dd_world_key)(void*, SDL_Scancode, int);
  10. void (*dd_world_mouse)(void*, int, int, int, int);
  11. void (*dd_world_click)(void*, int, int);
  12. struct dd_world {
  13. void (*update)(void*);
  14. void (*draw)(void*);
  15. void (*key)(void*, SDL_Scancode, int);
  16. void (*mouse)(void*, int, int, int, int);
  17. void (*click)(void*, int, int);
  18. int next;
  19. };
  20. /* This is a pointer to the current world. */
  21. struct dd_world *dd_cworld;
  22. /* helper functions to create and initialise a world */
  23. struct dd_world *dd_world_create();
  24. void dd_world_init(struct dd_world *w);
  25. /* empty default functions */
  26. void dd_world_emptyupdate(void *);
  27. void dd_world_emptydraw(void *);
  28. void dd_world_emptykey(void *, SDL_Scancode, int);
  29. void dd_world_emptymouse(void *, int, int, int, int);
  30. void dd_world_emptyclick(void *, int, int);
  31. #endif