21 #include "../../SDL_internal.h" 23 #if SDL_VIDEO_DRIVER_ANDROID 30 #include "../SDL_sysvideo.h" 31 #include "../SDL_pixels_c.h" 32 #include "../../events/SDL_events_c.h" 33 #include "../../events/SDL_windowevents_c.h" 45 #define ANDROID_VID_DRIVER_NAME "Android" 48 static int Android_VideoInit(
_THIS);
49 static void Android_VideoQuit(
_THIS);
50 int Android_GetDisplayDPI(
_THIS,
SDL_VideoDisplay * display,
float * ddpi,
float * hdpi,
float * vdpi);
52 #include "../SDL_egl_c.h" 53 #define Android_GLES_GetProcAddress SDL_EGL_GetProcAddress 54 #define Android_GLES_UnloadLibrary SDL_EGL_UnloadLibrary 55 #define Android_GLES_SetSwapInterval SDL_EGL_SetSwapInterval 56 #define Android_GLES_GetSwapInterval SDL_EGL_GetSwapInterval 57 #define Android_GLES_DeleteContext SDL_EGL_DeleteContext 66 static int Android_ScreenRate = 0;
74 Android_Available(
void)
80 Android_SuspendScreenSaver(
_THIS)
93 Android_CreateDevice(
int devindex)
127 device->
free = Android_DeleteDevice;
168 ANDROID_VID_DRIVER_NAME,
"SDL Android video driver",
169 Android_Available, Android_CreateDevice
174 Android_VideoInit(
_THIS)
200 Android_VideoQuit(
_THIS)
219 Android_ScreenRate = rate;
237 if (Android_Window) {
int(* Vulkan_LoadLibrary)(_THIS, const char *path)
void Android_SetScreenResolution(int width, int height, Uint32 format, float rate)
int Android_GLES_SwapWindow(_THIS, SDL_Window *window)
int Android_JNI_GetDisplayDPI(float *ddpi, float *xdpi, float *ydpi)
int(* GetDisplayDPI)(_THIS, SDL_VideoDisplay *display, float *ddpi, float *hdpi, float *vdpi)
int Android_GLES_LoadLibrary(_THIS, const char *path)
void Android_DestroyWindow(_THIS, SDL_Window *window)
SDL_bool Android_HasScreenKeyboardSupport(_THIS)
SDL_bool(* IsScreenKeyboardShown)(_THIS, SDL_Window *window)
char * Android_GetClipboardText(_THIS)
int SDL_AddBasicVideoDisplay(const SDL_DisplayMode *desktop_mode)
void Android_InitMouse(void)
int(* GL_SetSwapInterval)(_THIS, int interval)
The structure that defines a display mode.
void(* StartTextInput)(_THIS)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
int SDL_SendWindowEvent(SDL_Window *window, Uint8 windowevent, int data1, int data2)
void Android_InitKeyboard(void)
void Android_InitTouch(void)
int(* GL_LoadLibrary)(_THIS, const char *path)
GLint GLint GLsizei width
void Android_SetWindowFullscreen(_THIS, SDL_Window *window, SDL_VideoDisplay *display, SDL_bool fullscreen)
SDL_sem * Android_PauseSem
static SDL_VideoDevice * _this
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
static SDL_AudioDeviceID device
SDL_GLContext Android_GLES_CreateContext(_THIS, SDL_Window *window)
void(* SetTextInputRect)(_THIS, SDL_Rect *rect)
SDL_bool(* Vulkan_GetInstanceExtensions)(_THIS, SDL_Window *window, unsigned *count, const char **names)
VideoBootStrap Android_bootstrap
SDL_bool(* GetWindowWMInfo)(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
int Android_SetClipboardText(_THIS, const char *text)
SDL_GLContext(* GL_CreateContext)(_THIS, SDL_Window *window)
SDL_bool(* Vulkan_CreateSurface)(_THIS, SDL_Window *window, VkInstance instance, VkSurfaceKHR *surface)
int(* GL_MakeCurrent)(_THIS, SDL_Window *window, SDL_GLContext context)
void(* Vulkan_UnloadLibrary)(_THIS)
SDL_DisplayMode * display_modes
Uint32 Android_ScreenFormat
SDL_DisplayMode current_mode
SDL_Window * Android_Window
SDL_VideoDisplay * displays
void(* DestroyWindow)(_THIS, SDL_Window *window)
void Android_PumpEvents(_THIS)
void(* StopTextInput)(_THIS)
void Android_StartTextInput(_THIS)
void Android_JNI_SuspendScreenSaver(SDL_bool suspend)
SDL_bool(* HasScreenKeyboardSupport)(_THIS)
void Android_SetTextInputRect(_THIS, SDL_Rect *rect)
void(* GL_UnloadLibrary)(_THIS)
int(* CreateSDLWindow)(_THIS, SDL_Window *window)
#define SDL_OutOfMemory()
SDL_DisplayMode desktop_mode
void Android_SetWindowTitle(_THIS, SDL_Window *window)
GLint GLint GLsizei GLsizei height
SDL_sem * Android_ResumeSem
SDL_VideoDisplay * SDL_GetDisplayForWindow(SDL_Window *window)
int(* GL_SwapWindow)(_THIS, SDL_Window *window)
The type used to identify a window.
int Android_CreateWindow(_THIS, SDL_Window *window)
void Android_StopTextInput(_THIS)
SDL_bool Android_GetWindowWMInfo(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
SDL_bool(* HasClipboardText)(_THIS)
SDL_bool SDL_AddDisplayMode(SDL_VideoDisplay *display, const SDL_DisplayMode *mode)
SDL_VideoDevice * SDL_GetVideoDevice(void)
SDL_bool suspend_screensaver
void(* SetWindowFullscreen)(_THIS, SDL_Window *window, SDL_VideoDisplay *display, SDL_bool fullscreen)
void(* GL_DeleteContext)(_THIS, SDL_GLContext context)
char *(* GetClipboardText)(_THIS)
void(* SetWindowTitle)(_THIS, SDL_Window *window)
int(* GL_GetSwapInterval)(_THIS)
int(* SetClipboardText)(_THIS, const char *text)
SDL_bool Android_HasClipboardText(_THIS)
void(* SuspendScreenSaver)(_THIS)
SDL_bool Android_IsScreenKeyboardShown(_THIS, SDL_Window *window)
void *(* GL_GetProcAddress)(_THIS, const char *proc)
void Android_QuitTouch(void)
void(* PumpEvents)(_THIS)
int Android_GLES_MakeCurrent(_THIS, SDL_Window *window, SDL_GLContext context)