Implementation of GFX2_MessageBox() for SDL1.2.x and Mac OS X
This commit is contained in:
parent
b0f1117bbc
commit
9c7057eab7
@ -102,6 +102,10 @@ int GFX2_GetScreenSize(int * width, int * height);
|
||||
#define GFX2_MB_INFO MB_OK
|
||||
#define GFX2_MB_ERROR (MB_OK|MB_ICONERROR)
|
||||
#define GFX2_MB_WARNING (MB_OK|MB_ICONWARNING)
|
||||
#elif defined(__macosx__)
|
||||
#define GFX2_MB_INFO (unsigned)kCFUserNotificationPlainAlertLevel
|
||||
#define GFX2_MB_ERROR (unsigned)kCFUserNotificationStopAlertLevel
|
||||
#define GFX2_MB_WARNING (unsigned)kCFUserNotificationCautionAlertLevel
|
||||
#else
|
||||
#define GFX2_MB_INFO 1
|
||||
#define GFX2_MB_ERROR 2
|
||||
|
||||
@ -34,6 +34,9 @@
|
||||
#ifndef __GP2X__
|
||||
#include <SDL_syswm.h>
|
||||
#endif
|
||||
#if defined(__macosx__)
|
||||
#import <CoreFoundation/CoreFoundation.h>
|
||||
#endif
|
||||
|
||||
#include "global.h"
|
||||
#include "sdlscreen.h"
|
||||
@ -803,6 +806,20 @@ int GFX2_MessageBox(const char * text, const char * caption, unsigned int type)
|
||||
return SDL_ShowSimpleMessageBox(type, caption, text, Window_SDL);
|
||||
#elif defined(WIN32)
|
||||
return MessageBoxA(GFX2_Get_Window_Handle(), text, caption, type);
|
||||
#endif
|
||||
#elif defined(__macosx__)
|
||||
// TODO : display for MacOS : http://blog.jorgearimany.com/2010/05/messagebox-from-windows-to-mac.html
|
||||
int r;
|
||||
CFOptionFlags result;
|
||||
CFStringRef text_ref = CFStringCreateWithCString(NULL, text, strlen(text));
|
||||
CFStringRef caption_ref = CFStringCreateWithCString(NULL, caption, strlen(text));
|
||||
r = CFUserNotificationDisplayAlert(0, (CFOptionFlags)type,
|
||||
NULL, NULL, NULL,
|
||||
caption_ref, text_ref,
|
||||
NULL, NULL, NULL, &result);
|
||||
CFRelease(text_ref);
|
||||
CFRelease(caption_ref);
|
||||
return (r == 0);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user