source: opengl-game/game-gui-sdl.hpp@ f6521fb

feature/imgui-sdl points-test
Last change on this file since f6521fb was f6521fb, checked in by Dmitry Portnoy <dmitry.portnoy@…>, 5 years ago

Add processEvents() and pollEvent() to GameGui, implement them for GameGui_SDL, and add a union for different event types, similar to the SDL_Event union

  • Property mode set to 100644
File size: 1.0 KB
RevLine 
[0e6ecf3]1#ifndef _GAME_GUI_SDL_H
2#define _GAME_GUI_SDL_H
3
[98f3232]4#include "game-gui.hpp"
[f898c5f]5
[0e6ecf3]6#include <SDL2/SDL.h>
[5f3dba8]7#include <SDL2/SDL_image.h>
8#include <SDL2/SDL_ttf.h>
[0e6ecf3]9#include <SDL2/SDL_vulkan.h>
10
[98f3232]11class GameGui_SDL : public GameGui {
[f898c5f]12 public:
[7fc5e27]13 string& getError();
[d5f2b42]14
[7fc5e27]15 bool init();
16 void shutdown();
[0e6ecf3]17
[7fc5e27]18 void* createWindow(const string& title, int width, int height, bool fullscreen);
19 void destroyWindow();
[0e6ecf3]20
[f6521fb]21 void processEvents();
22 int pollEvent(UIEvent* event);
23
[27c40ce]24 // temporary
25 //int pollEvent(SDL_Event* event);
26
27 /*
28 void processEvents();
29
30 unsigned char getKeyEvent(unsigned int key);
31 bool isKeyPressed(unsigned int key);
32
33 int pollMouseEvent(MouseEvent* event);
34 */
35
[4eb4d0a]36#ifdef GAMEGUI_INCLUDE_VULKAN
[7fc5e27]37 bool createVulkanSurface(VkInstance instance, VkSurfaceKHR* surface);
[4eb4d0a]38#endif
39
[7fc5e27]40 vector<const char*> getRequiredExtensions();
41 void getWindowSize(int* width, int* height);
[0e6ecf3]42
43 private:
44 SDL_Window* window;
[d5f2b42]45
46 static string s_errorMessage;
[0e6ecf3]47};
48
49#endif // _GAME_GUI_SDL_H
Note: See TracBrowser for help on using the repository browser.