mirror of
https://github.com/Ryujinx/SDL.git
synced 2024-12-22 20:05:30 +00:00
SDL_ShowMessageBox: Remove #ifdef
s and respect SDL_VIDEO_DRIVER hint.
Fixes #8892. (cherry picked from commit c5c0b2cb3447a9aecbb7c47622baa945ab43227b)
This commit is contained in:
parent
8367b00e8c
commit
10cbe04fc5
|
@ -451,6 +451,7 @@ typedef struct VideoBootStrap
|
||||||
const char *name;
|
const char *name;
|
||||||
const char *desc;
|
const char *desc;
|
||||||
SDL_VideoDevice *(*create)(void);
|
SDL_VideoDevice *(*create)(void);
|
||||||
|
int (*ShowMessageBox)(const SDL_MessageBoxData *messageboxdata, int *buttonid); /* can be done without initializing backend! */
|
||||||
} VideoBootStrap;
|
} VideoBootStrap;
|
||||||
|
|
||||||
/* Not all of these are available in a given build. Use #ifdefs, etc. */
|
/* Not all of these are available in a given build. Use #ifdefs, etc. */
|
||||||
|
|
|
@ -4401,59 +4401,6 @@ int SDL_GetMessageBoxCount(void)
|
||||||
return SDL_AtomicGet(&SDL_messagebox_count);
|
return SDL_AtomicGet(&SDL_messagebox_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_ANDROID
|
|
||||||
#include "android/SDL_androidmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_WINDOWS
|
|
||||||
#include "windows/SDL_windowsmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_WINRT
|
|
||||||
#include "winrt/SDL_winrtmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_COCOA
|
|
||||||
#include "cocoa/SDL_cocoamessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_UIKIT
|
|
||||||
#include "uikit/SDL_uikitmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_X11
|
|
||||||
#include "x11/SDL_x11messagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_WAYLAND
|
|
||||||
#include "wayland/SDL_waylandmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_HAIKU
|
|
||||||
#include "haiku/SDL_bmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_OS2
|
|
||||||
#include "os2/SDL_os2messagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_RISCOS
|
|
||||||
#include "riscos/SDL_riscosmessagebox.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_VITA
|
|
||||||
#include "vita/SDL_vitamessagebox.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_DRIVER_WINDOWS) || defined(SDL_VIDEO_DRIVER_WINRT) || defined(SDL_VIDEO_DRIVER_COCOA) || defined(SDL_VIDEO_DRIVER_UIKIT) || defined(SDL_VIDEO_DRIVER_X11) || defined(SDL_VIDEO_DRIVER_WAYLAND) || defined(SDL_VIDEO_DRIVER_HAIKU) || defined(SDL_VIDEO_DRIVER_OS2) || defined(SDL_VIDEO_DRIVER_RISCOS)
|
|
||||||
static SDL_bool SDL_MessageboxValidForDriver(const SDL_MessageBoxData *messageboxdata, SDL_SYSWM_TYPE drivertype)
|
|
||||||
{
|
|
||||||
SDL_SysWMinfo info;
|
|
||||||
SDL_Window *window = messageboxdata->window;
|
|
||||||
|
|
||||||
if (!window) {
|
|
||||||
return SDL_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_VERSION(&info.version);
|
|
||||||
if (!SDL_GetWindowWMInfo(window, &info)) {
|
|
||||||
return SDL_TRUE;
|
|
||||||
} else {
|
|
||||||
return (info.subsystem == drivertype);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
int SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
||||||
{
|
{
|
||||||
int dummybutton;
|
int dummybutton;
|
||||||
|
@ -4495,84 +4442,37 @@ int SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
||||||
|
|
||||||
if (_this && _this->ShowMessageBox) {
|
if (_this && _this->ShowMessageBox) {
|
||||||
retval = _this->ShowMessageBox(_this, messageboxdata, buttonid);
|
retval = _this->ShowMessageBox(_this, messageboxdata, buttonid);
|
||||||
|
} else {
|
||||||
|
/* It's completely fine to call this function before video is initialized */
|
||||||
|
const char *driver_name = SDL_GetHint(SDL_HINT_VIDEODRIVER);
|
||||||
|
if (driver_name && *driver_name != 0) {
|
||||||
|
const char *driver_attempt = driver_name;
|
||||||
|
while (driver_attempt && (*driver_attempt != 0) && (retval == -1)) {
|
||||||
|
const char *driver_attempt_end = SDL_strchr(driver_attempt, ',');
|
||||||
|
size_t driver_attempt_len = (driver_attempt_end) ? (driver_attempt_end - driver_attempt)
|
||||||
|
: SDL_strlen(driver_attempt);
|
||||||
|
for (int i = 0; bootstrap[i]; ++i) {
|
||||||
|
if (bootstrap[i]->ShowMessageBox && (driver_attempt_len == SDL_strlen(bootstrap[i]->name)) &&
|
||||||
|
(SDL_strncasecmp(bootstrap[i]->name, driver_attempt, driver_attempt_len) == 0)) {
|
||||||
|
if (bootstrap[i]->ShowMessageBox(messageboxdata, buttonid) == 0) {
|
||||||
|
retval = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
driver_attempt = (driver_attempt_end) ? (driver_attempt_end + 1) : NULL;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int i = 0; bootstrap[i]; ++i) {
|
||||||
|
if (bootstrap[i]->ShowMessageBox && bootstrap[i]->ShowMessageBox(messageboxdata, buttonid) == 0) {
|
||||||
|
retval = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* It's completely fine to call this function before video is initialized */
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_ANDROID
|
|
||||||
if (retval == -1 &&
|
|
||||||
Android_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#if defined(SDL_VIDEO_DRIVER_WINDOWS) && !defined(__XBOXONE__) && !defined(__XBOXSERIES__)
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_WINDOWS) &&
|
|
||||||
WIN_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_WINRT
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_WINRT) &&
|
|
||||||
WINRT_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_COCOA
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_COCOA) &&
|
|
||||||
Cocoa_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_UIKIT
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_UIKIT) &&
|
|
||||||
UIKit_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_X11
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_X11) &&
|
|
||||||
X11_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_WAYLAND
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_WAYLAND) &&
|
|
||||||
Wayland_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_HAIKU
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_HAIKU) &&
|
|
||||||
HAIKU_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_OS2
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_OS2) &&
|
|
||||||
OS2_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_RISCOS
|
|
||||||
if (retval == -1 &&
|
|
||||||
SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_RISCOS) &&
|
|
||||||
RISCOS_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef SDL_VIDEO_DRIVER_VITA
|
|
||||||
if (retval == -1 &&
|
|
||||||
VITA_ShowMessageBox(messageboxdata, buttonid) == 0) {
|
|
||||||
retval = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (retval == -1) {
|
if (retval == -1) {
|
||||||
const char *error = SDL_GetError();
|
const char *error = SDL_GetError();
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include "SDL_androidtouch.h"
|
#include "SDL_androidtouch.h"
|
||||||
#include "SDL_androidwindow.h"
|
#include "SDL_androidwindow.h"
|
||||||
#include "SDL_androidvulkan.h"
|
#include "SDL_androidvulkan.h"
|
||||||
|
#include "SDL_androidmessagebox.h"
|
||||||
|
|
||||||
#define ANDROID_VID_DRIVER_NAME "Android"
|
#define ANDROID_VID_DRIVER_NAME "Android"
|
||||||
|
|
||||||
|
@ -166,7 +167,8 @@ static SDL_VideoDevice *Android_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap Android_bootstrap = {
|
VideoBootStrap Android_bootstrap = {
|
||||||
ANDROID_VID_DRIVER_NAME, "SDL Android video driver",
|
ANDROID_VID_DRIVER_NAME, "SDL Android video driver",
|
||||||
Android_CreateDevice
|
Android_CreateDevice,
|
||||||
|
Android_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
int Android_VideoInit(_THIS)
|
int Android_VideoInit(_THIS)
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "SDL_cocoavulkan.h"
|
#include "SDL_cocoavulkan.h"
|
||||||
#include "SDL_cocoametalview.h"
|
#include "SDL_cocoametalview.h"
|
||||||
#include "SDL_cocoaopengles.h"
|
#include "SDL_cocoaopengles.h"
|
||||||
|
#include "SDL_cocoamessagebox.h"
|
||||||
|
|
||||||
@implementation SDL_VideoData
|
@implementation SDL_VideoData
|
||||||
|
|
||||||
|
@ -179,7 +180,8 @@ static SDL_VideoDevice *Cocoa_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap COCOA_bootstrap = {
|
VideoBootStrap COCOA_bootstrap = {
|
||||||
"cocoa", "SDL Cocoa video driver",
|
"cocoa", "SDL Cocoa video driver",
|
||||||
Cocoa_CreateDevice
|
Cocoa_CreateDevice,
|
||||||
|
Cocoa_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -120,13 +120,15 @@ static SDL_VideoDevice *DUMMY_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap DUMMY_bootstrap = {
|
VideoBootStrap DUMMY_bootstrap = {
|
||||||
DUMMYVID_DRIVER_NAME, "SDL dummy video driver",
|
DUMMYVID_DRIVER_NAME, "SDL dummy video driver",
|
||||||
DUMMY_CreateDevice
|
DUMMY_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef SDL_INPUT_LINUXEV
|
#ifdef SDL_INPUT_LINUXEV
|
||||||
VideoBootStrap DUMMY_evdev_bootstrap = {
|
VideoBootStrap DUMMY_evdev_bootstrap = {
|
||||||
DUMMYVID_DRIVER_EVDEV_NAME, "SDL dummy video driver with evdev",
|
DUMMYVID_DRIVER_EVDEV_NAME, "SDL dummy video driver with evdev",
|
||||||
DUMMY_CreateDevice
|
DUMMY_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
void SDL_EVDEV_Init(void);
|
void SDL_EVDEV_Init(void);
|
||||||
void SDL_EVDEV_Poll();
|
void SDL_EVDEV_Poll();
|
||||||
|
|
|
@ -125,7 +125,8 @@ static SDL_VideoDevice *Emscripten_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap Emscripten_bootstrap = {
|
VideoBootStrap Emscripten_bootstrap = {
|
||||||
EMSCRIPTENVID_DRIVER_NAME, "SDL emscripten video driver",
|
EMSCRIPTENVID_DRIVER_NAME, "SDL emscripten video driver",
|
||||||
Emscripten_CreateDevice
|
Emscripten_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
int Emscripten_VideoInit(_THIS)
|
int Emscripten_VideoInit(_THIS)
|
||||||
|
|
|
@ -39,6 +39,7 @@ extern "C" {
|
||||||
#include "SDL_bmodes.h"
|
#include "SDL_bmodes.h"
|
||||||
#include "SDL_bframebuffer.h"
|
#include "SDL_bframebuffer.h"
|
||||||
#include "SDL_bevents.h"
|
#include "SDL_bevents.h"
|
||||||
|
#include "SDL_bmessagebox.h"
|
||||||
|
|
||||||
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
|
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||||
return (SDL_BWin *)(window->driverdata);
|
return (SDL_BWin *)(window->driverdata);
|
||||||
|
@ -131,7 +132,8 @@ static SDL_VideoDevice * HAIKU_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap HAIKU_bootstrap = {
|
VideoBootStrap HAIKU_bootstrap = {
|
||||||
"haiku", "Haiku graphics",
|
"haiku", "Haiku graphics",
|
||||||
HAIKU_CreateDevice
|
HAIKU_CreateDevice,
|
||||||
|
HAIKU_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
void HAIKU_DeleteDevice(SDL_VideoDevice * device)
|
void HAIKU_DeleteDevice(SDL_VideoDevice * device)
|
||||||
|
|
|
@ -315,7 +315,8 @@ cleanup:
|
||||||
VideoBootStrap KMSDRM_bootstrap = {
|
VideoBootStrap KMSDRM_bootstrap = {
|
||||||
"KMSDRM",
|
"KMSDRM",
|
||||||
"KMS/DRM Video Driver",
|
"KMS/DRM Video Driver",
|
||||||
KMSDRM_CreateDevice
|
KMSDRM_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
static void KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data)
|
static void KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data)
|
||||||
|
|
|
@ -86,7 +86,7 @@ static SDL_VideoDevice *N3DS_CreateDevice(void)
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoBootStrap N3DS_bootstrap = { N3DSVID_DRIVER_NAME, "N3DS Video Driver", N3DS_CreateDevice };
|
VideoBootStrap N3DS_bootstrap = { N3DSVID_DRIVER_NAME, "N3DS Video Driver", N3DS_CreateDevice, NULL /* no ShowMessageBox implementation */ };
|
||||||
|
|
||||||
static int N3DS_VideoInit(_THIS)
|
static int N3DS_VideoInit(_THIS)
|
||||||
{
|
{
|
||||||
|
|
|
@ -141,7 +141,8 @@ static SDL_VideoDevice *NGAGE_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap NGAGE_bootstrap = {
|
VideoBootStrap NGAGE_bootstrap = {
|
||||||
NGAGEVID_DRIVER_NAME, "SDL ngage video driver",
|
NGAGEVID_DRIVER_NAME, "SDL ngage video driver",
|
||||||
NGAGE_CreateDevice
|
NGAGE_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
int NGAGE_VideoInit(_THIS)
|
int NGAGE_VideoInit(_THIS)
|
||||||
|
|
|
@ -95,7 +95,8 @@ static SDL_VideoDevice *OFFSCREEN_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap OFFSCREEN_bootstrap = {
|
VideoBootStrap OFFSCREEN_bootstrap = {
|
||||||
OFFSCREENVID_DRIVER_NAME, "SDL offscreen video driver",
|
OFFSCREENVID_DRIVER_NAME, "SDL offscreen video driver",
|
||||||
OFFSCREEN_CreateDevice
|
OFFSCREEN_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
int OFFSCREEN_VideoInit(_THIS)
|
int OFFSCREEN_VideoInit(_THIS)
|
||||||
|
|
|
@ -126,7 +126,8 @@ static SDL_VideoDevice *PS2_CreateDevice(void)
|
||||||
VideoBootStrap PS2_bootstrap = {
|
VideoBootStrap PS2_bootstrap = {
|
||||||
"PS2",
|
"PS2",
|
||||||
"PS2 Video Driver",
|
"PS2 Video Driver",
|
||||||
PS2_CreateDevice
|
PS2_CreateDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_DRIVER_PS2 */
|
#endif /* SDL_VIDEO_DRIVER_PS2 */
|
||||||
|
|
|
@ -134,7 +134,8 @@ static SDL_VideoDevice *PSP_Create()
|
||||||
VideoBootStrap PSP_bootstrap = {
|
VideoBootStrap PSP_bootstrap = {
|
||||||
"PSP",
|
"PSP",
|
||||||
"PSP Video Driver",
|
"PSP Video Driver",
|
||||||
PSP_Create
|
PSP_Create,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -342,5 +342,6 @@ static SDL_VideoDevice *createDevice(int devindex)
|
||||||
|
|
||||||
VideoBootStrap QNX_bootstrap = {
|
VideoBootStrap QNX_bootstrap = {
|
||||||
"qnx", "QNX Screen",
|
"qnx", "QNX Screen",
|
||||||
createDevice
|
createDevice,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
|
@ -138,7 +138,8 @@ static SDL_VideoDevice *RPI_Create()
|
||||||
VideoBootStrap RPI_bootstrap = {
|
VideoBootStrap RPI_bootstrap = {
|
||||||
"RPI",
|
"RPI",
|
||||||
"RPI Video Driver",
|
"RPI Video Driver",
|
||||||
RPI_Create
|
RPI_Create,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include "SDL_riscosmouse.h"
|
#include "SDL_riscosmouse.h"
|
||||||
#include "SDL_riscosmodes.h"
|
#include "SDL_riscosmodes.h"
|
||||||
#include "SDL_riscoswindow.h"
|
#include "SDL_riscoswindow.h"
|
||||||
|
#include "SDL_riscosmessagebox.h"
|
||||||
|
|
||||||
#define RISCOSVID_DRIVER_NAME "riscos"
|
#define RISCOSVID_DRIVER_NAME "riscos"
|
||||||
|
|
||||||
|
@ -94,7 +95,8 @@ static SDL_VideoDevice *RISCOS_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap RISCOS_bootstrap = {
|
VideoBootStrap RISCOS_bootstrap = {
|
||||||
RISCOSVID_DRIVER_NAME, "SDL RISC OS video driver",
|
RISCOSVID_DRIVER_NAME, "SDL RISC OS video driver",
|
||||||
RISCOS_CreateDevice
|
RISCOS_CreateDevice,
|
||||||
|
RISCOS_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
static int RISCOS_VideoInit(_THIS)
|
static int RISCOS_VideoInit(_THIS)
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "SDL_uikitclipboard.h"
|
#include "SDL_uikitclipboard.h"
|
||||||
#include "SDL_uikitvulkan.h"
|
#include "SDL_uikitvulkan.h"
|
||||||
#include "SDL_uikitmetalview.h"
|
#include "SDL_uikitmetalview.h"
|
||||||
|
#include "SDL_uikitmessagebox.h"
|
||||||
|
|
||||||
#define UIKITVID_DRIVER_NAME "uikit"
|
#define UIKITVID_DRIVER_NAME "uikit"
|
||||||
|
|
||||||
|
@ -147,7 +148,8 @@ static SDL_VideoDevice *UIKit_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap UIKIT_bootstrap = {
|
VideoBootStrap UIKIT_bootstrap = {
|
||||||
UIKITVID_DRIVER_NAME, "SDL UIKit video driver",
|
UIKITVID_DRIVER_NAME, "SDL UIKit video driver",
|
||||||
UIKit_CreateDevice
|
UIKit_CreateDevice,
|
||||||
|
UIKit_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "SDL_vitakeyboard.h"
|
#include "SDL_vitakeyboard.h"
|
||||||
#include "SDL_vitamouse_c.h"
|
#include "SDL_vitamouse_c.h"
|
||||||
#include "SDL_vitaframebuffer.h"
|
#include "SDL_vitaframebuffer.h"
|
||||||
|
#include "SDL_vitamessagebox.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_VITA_PIB)
|
#if defined(SDL_VIDEO_VITA_PIB)
|
||||||
#include "SDL_vitagles_c.h"
|
#include "SDL_vitagles_c.h"
|
||||||
|
@ -175,7 +176,8 @@ static SDL_VideoDevice *VITA_Create()
|
||||||
VideoBootStrap VITA_bootstrap = {
|
VideoBootStrap VITA_bootstrap = {
|
||||||
"VITA",
|
"VITA",
|
||||||
"VITA Video Driver",
|
"VITA Video Driver",
|
||||||
VITA_Create
|
VITA_Create,
|
||||||
|
VITA_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -116,7 +116,8 @@ static SDL_VideoDevice *VIVANTE_Create()
|
||||||
VideoBootStrap VIVANTE_bootstrap = {
|
VideoBootStrap VIVANTE_bootstrap = {
|
||||||
"vivante",
|
"vivante",
|
||||||
"Vivante EGL Video Driver",
|
"Vivante EGL Video Driver",
|
||||||
VIVANTE_Create
|
VIVANTE_Create,
|
||||||
|
NULL /* no ShowMessageBox implementation */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "SDL_waylandtouch.h"
|
#include "SDL_waylandtouch.h"
|
||||||
#include "SDL_waylandclipboard.h"
|
#include "SDL_waylandclipboard.h"
|
||||||
#include "SDL_waylandvulkan.h"
|
#include "SDL_waylandvulkan.h"
|
||||||
|
#include "SDL_waylandmessagebox.h"
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -307,7 +308,8 @@ static SDL_VideoDevice *Wayland_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap Wayland_bootstrap = {
|
VideoBootStrap Wayland_bootstrap = {
|
||||||
WAYLANDVID_DRIVER_NAME, "SDL Wayland video driver",
|
WAYLANDVID_DRIVER_NAME, "SDL Wayland video driver",
|
||||||
Wayland_CreateDevice
|
Wayland_CreateDevice,
|
||||||
|
Wayland_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
static void xdg_output_handle_logical_position(void *data, struct zxdg_output_v1 *xdg_output,
|
static void xdg_output_handle_logical_position(void *data, struct zxdg_output_v1 *xdg_output,
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include "SDL_windowsframebuffer.h"
|
#include "SDL_windowsframebuffer.h"
|
||||||
#include "SDL_windowsshape.h"
|
#include "SDL_windowsshape.h"
|
||||||
#include "SDL_windowsvulkan.h"
|
#include "SDL_windowsvulkan.h"
|
||||||
|
#include "SDL_windowsmessagebox.h"
|
||||||
|
|
||||||
/* #define HIGHDPI_DEBUG */
|
/* #define HIGHDPI_DEBUG */
|
||||||
|
|
||||||
|
@ -262,7 +263,12 @@ static SDL_VideoDevice *WIN_CreateDevice(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoBootStrap WINDOWS_bootstrap = {
|
VideoBootStrap WINDOWS_bootstrap = {
|
||||||
"windows", "SDL Windows video driver", WIN_CreateDevice
|
"windows", "SDL Windows video driver", WIN_CreateDevice,
|
||||||
|
#if !defined(__XBOXONE__) && !defined(__XBOXSERIES__)
|
||||||
|
WIN_ShowMessageBox
|
||||||
|
#else
|
||||||
|
NULL
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static BOOL WIN_DeclareDPIAwareUnaware(_THIS)
|
static BOOL WIN_DeclareDPIAwareUnaware(_THIS)
|
||||||
|
|
|
@ -41,7 +41,7 @@ static String ^ WINRT_UTF8ToPlatformString(const char *str) {
|
||||||
return rtstr;
|
return rtstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" int WINRT_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
extern "C" int WINRT_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
||||||
{
|
{
|
||||||
#if SDL_WINAPI_FAMILY_PHONE && (NTDDI_VERSION == NTDDI_WIN8)
|
#if SDL_WINAPI_FAMILY_PHONE && (NTDDI_VERSION == NTDDI_WIN8)
|
||||||
/* Sadly, Windows Phone 8 doesn't include the MessageDialog class that
|
/* Sadly, Windows Phone 8 doesn't include the MessageDialog class that
|
||||||
|
|
|
@ -61,6 +61,7 @@ extern "C" {
|
||||||
#include "SDL_syswm.h"
|
#include "SDL_syswm.h"
|
||||||
#include "SDL_winrtopengles.h"
|
#include "SDL_winrtopengles.h"
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
|
#include "SDL_winrtmessagebox.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "../../core/winrt/SDL_winrtapp_direct3d.h"
|
#include "../../core/winrt/SDL_winrtapp_direct3d.h"
|
||||||
|
@ -166,10 +167,10 @@ static SDL_VideoDevice *WINRT_CreateDevice(void)
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define WINRTVID_DRIVER_NAME "winrt"
|
|
||||||
VideoBootStrap WINRT_bootstrap = {
|
VideoBootStrap WINRT_bootstrap = {
|
||||||
WINRTVID_DRIVER_NAME, "SDL WinRT video driver",
|
"winrt", "SDL WinRT video driver",
|
||||||
WINRT_CreateDevice
|
WINRT_CreateDevice,
|
||||||
|
WINRT_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
static void SDLCALL WINRT_SetDisplayOrientationsPreference(void *userdata, const char *name, const char *oldValue, const char *newValue)
|
static void SDLCALL WINRT_SetDisplayOrientationsPreference(void *userdata, const char *name, const char *oldValue, const char *newValue)
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "SDL_x11touch.h"
|
#include "SDL_x11touch.h"
|
||||||
#include "SDL_x11xinput2.h"
|
#include "SDL_x11xinput2.h"
|
||||||
#include "SDL_x11xfixes.h"
|
#include "SDL_x11xfixes.h"
|
||||||
|
#include "SDL_x11messagebox.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_OPENGL_EGL
|
#ifdef SDL_VIDEO_OPENGL_EGL
|
||||||
#include "SDL_x11opengles.h"
|
#include "SDL_x11opengles.h"
|
||||||
|
@ -326,7 +327,8 @@ static SDL_VideoDevice *X11_CreateDevice(void)
|
||||||
|
|
||||||
VideoBootStrap X11_bootstrap = {
|
VideoBootStrap X11_bootstrap = {
|
||||||
"x11", "SDL X11 video driver",
|
"x11", "SDL X11 video driver",
|
||||||
X11_CreateDevice
|
X11_CreateDevice,
|
||||||
|
X11_ShowMessageBox
|
||||||
};
|
};
|
||||||
|
|
||||||
static int (*handler)(Display *, XErrorEvent *) = NULL;
|
static int (*handler)(Display *, XErrorEvent *) = NULL;
|
||||||
|
|
Loading…
Reference in a new issue