ui.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef UI_H_
  2. #define UI_H_
  3. #include <SDL.h>
  4. #include <SDL_mutex.h>
  5. #include <SDL_image.h>
  6. #include <SDL_ttf.h>
  7. typedef unsigned char uint8;
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. struct Application {
  12. int ret;
  13. char errorString[2048];
  14. uint8 initialized;
  15. SDL_Window *window;
  16. int winWidth, winHeight;
  17. SDL_Renderer *renderer;
  18. SDL_Texture *bgTexture;
  19. SDL_Texture *bigNumTextures[10];
  20. SDL_Texture *smallNumTextures[10];
  21. TTF_Font *nameFont;
  22. SDL_Texture *p1NameTexture, *p2NameTexture;
  23. SDL_Texture *p1WinTexture[2], *p2WinTexture[2];
  24. SDL_Texture *scoreHighLightTexture[2];
  25. char p1Name[30];
  26. char p2Name[30];
  27. uint8 roundNum, roundNumSt, roundNumNd;
  28. uint8 p1Num, p1NumSt, p1NumNd;
  29. uint8 p2Num, p2NumSt, p2NumNd;
  30. uint8 p1Win, p2Win;
  31. uint8 isKey;
  32. uint8 updateRequire;
  33. SDL_mutex *mutex;
  34. };
  35. int initApplication(struct Application *app);
  36. void drawApplication(struct Application *app);
  37. void termApplication(struct Application *app);
  38. int updateApplicationMode(struct Application *app, uint8 isKey);
  39. int updateApplication(struct Application *app, const char *p1Name, const char *p2Name, int roundNum, int p1Score, int p2Score);
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif // UI_H_