Commit 8487ec66 authored by Ryan C. Gordon's avatar Ryan C. Gordon

Updated dynamic X11 code. See details in Bugzilla #170.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401579
parent e0c405fa
/* include/SDL_config.h. Generated by configure. */
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2006 Sam Lantinga
......@@ -23,56 +24,277 @@
#ifndef _SDL_config_h
#define _SDL_config_h
/* This is a set of defines to configure the SDL features */
/* General platform specific identifiers */
#include "SDL_platform.h"
/* Add any platform that doesn't build using the configure system */
#if defined(__AMIGA__)
#include "SDL_config_amiga.h"
#elif defined(__DREAMCAST__)
#include "SDL_config_dreamcast.h"
#elif defined(__MACOS__)
#include "SDL_config_macos.h"
#elif defined(__MACOSX__)
#include "SDL_config_macosx.h"
#elif defined(__WIN32__)
#include "SDL_config_win32.h"
#elif defined(__OS2__)
#include "SDL_config_os2.h"
#else
/* This is the minimal configuration that can be used to build SDL */
/* C language features */
/* #undef const */
/* #undef inline */
/* #undef volatile */
/* C datatypes */
/* #undef size_t */
/* #undef int8_t */
/* #undef uint8_t */
/* #undef int16_t */
/* #undef uint16_t */
/* #undef int32_t */
/* #undef uint32_t */
/* #undef int64_t */
/* #undef uint64_t */
/* #undef uintptr_t */
#define SDL_HAS_64BIT_TYPE 1
/* Endianness */
#define SDL_BYTEORDER 1234
/* Comment this if you want to build without any C library requirements */
#define HAVE_LIBC 1
#if HAVE_LIBC
/* Useful headers */
#define HAVE_ALLOCA_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_STDIO_H 1
#define STDC_HEADERS 1
#define HAVE_STDLIB_H 1
#define HAVE_STDARG_H 1
#define HAVE_MALLOC_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRING_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_CTYPE_H 1
#define HAVE_MATH_H 1
#define HAVE_ICONV_H 1
#define HAVE_SIGNAL_H 1
/* #undef HAVE_ALTIVEC_H */
/* C library functions */
#define HAVE_MALLOC 1
#define HAVE_CALLOC 1
#define HAVE_REALLOC 1
#define HAVE_FREE 1
#define HAVE_ALLOCA 1
#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
#define HAVE_GETENV 1
#define HAVE_PUTENV 1
#define HAVE_UNSETENV 1
#endif
#define HAVE_QSORT 1
#define HAVE_ABS 1
#define HAVE_BCOPY 1
#define HAVE_MEMSET 1
#define HAVE_MEMCPY 1
#define HAVE_MEMMOVE 1
#define HAVE_MEMCMP 1
#define HAVE_STRLEN 1
/* #undef HAVE_STRLCPY */
/* #undef HAVE_STRLCAT */
#define HAVE_STRDUP 1
/* #undef HAVE__STRREV */
/* #undef HAVE__STRUPR */
/* #undef HAVE__STRLWR */
/* #undef HAVE_INDEX */
/* #undef HAVE_RINDEX */
#define HAVE_STRCHR 1
#define HAVE_STRRCHR 1
#define HAVE_STRSTR 1
/* #undef HAVE_ITOA */
/* #undef HAVE__LTOA */
/* #undef HAVE__UITOA */
/* #undef HAVE__ULTOA */
#define HAVE_STRTOL 1
#define HAVE_STRTOUL 1
/* #undef HAVE__I64TOA */
/* #undef HAVE__UI64TOA */
#define HAVE_STRTOLL 1
#define HAVE_STRTOULL 1
#define HAVE_STRTOD 1
#define HAVE_ATOI 1
#define HAVE_ATOF 1
#define HAVE_STRCMP 1
#define HAVE_STRNCMP 1
/* #undef HAVE__STRICMP */
#define HAVE_STRCASECMP 1
/* #undef HAVE__STRNICMP */
#define HAVE_STRNCASECMP 1
#define HAVE_SSCANF 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
#define HAVE_ICONV 1
#define HAVE_SIGACTION 1
#define HAVE_SETJMP 1
#define HAVE_NANOSLEEP 1
/* #undef HAVE_CLOCK_GETTIME */
#define HAVE_DLVSYM 1
#else
/* We may need some replacement for stdarg.h here */
#include <stdarg.h>
#endif /* HAVE_LIBC */
/* Allow disabling of core subsystems */
/* #undef SDL_AUDIO_DISABLED */
/* #undef SDL_CDROM_DISABLED */
/* #undef SDL_CPUINFO_DISABLED */
/* #undef SDL_EVENTS_DISABLED */
/* #undef SDL_FILE_DISABLED */
/* #undef SDL_JOYSTICK_DISABLED */
/* #undef SDL_LOADSO_DISABLED */
/* #undef SDL_THREADS_DISABLED */
/* #undef SDL_TIMERS_DISABLED */
/* #undef SDL_VIDEO_DISABLED */
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef unsigned int size_t;
typedef unsigned long uintptr_t;
/* Enable various audio drivers */
/* #undef SDL_AUDIO_DRIVER_AHI */
#define SDL_AUDIO_DRIVER_ALSA 1
#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "libasound.so.2"
/* #undef SDL_AUDIO_DRIVER_ARTS */
/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
/* #undef SDL_AUDIO_DRIVER_BAUDIO */
/* #undef SDL_AUDIO_DRIVER_BSD */
/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
/* #undef SDL_AUDIO_DRIVER_DART */
/* #undef SDL_AUDIO_DRIVER_DC */
#define SDL_AUDIO_DRIVER_DISK 1
#define SDL_AUDIO_DRIVER_DUMMY 1
/* #undef SDL_AUDIO_DRIVER_DMEDIA */
/* #undef SDL_AUDIO_DRIVER_DSOUND */
/* #undef SDL_AUDIO_DRIVER_ESD */
/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */
/* #undef SDL_AUDIO_DRIVER_MINT */
/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */
/* #undef SDL_AUDIO_DRIVER_NAS */
#define SDL_AUDIO_DRIVER_OSS 1
/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
/* #undef SDL_AUDIO_DRIVER_PAUD */
/* #undef SDL_AUDIO_DRIVER_QNXNTO */
/* #undef SDL_AUDIO_DRIVER_SNDMGR */
/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
/* #undef SDL_AUDIO_DRIVER_WAVEOUT */
/* Enable the dummy audio driver (src/audio/dummy/\*.c) */
#define SDL_AUDIO_DRIVER_DUMMY 1
/* Enable various cdrom drivers */
/* #undef SDL_CDROM_AIX */
/* #undef SDL_CDROM_BEOS */
/* #undef SDL_CDROM_BSDI */
/* #undef SDL_CDROM_DC */
/* #undef SDL_CDROM_DUMMY */
/* #undef SDL_CDROM_FREEBSD */
#define SDL_CDROM_LINUX 1
/* #undef SDL_CDROM_MACOS */
/* #undef SDL_CDROM_MACOSX */
/* #undef SDL_CDROM_MINT */
/* #undef SDL_CDROM_OPENBSD */
/* #undef SDL_CDROM_OS2 */
/* #undef SDL_CDROM_OSF */
/* #undef SDL_CDROM_QNX */
/* #undef SDL_CDROM_WIN32 */
/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */
#define SDL_CDROM_DISABLED 1
/* Enable various input drivers */
/* #undef SDL_INPUT_TSLIB */
/* #undef SDL_JOYSTICK_AMIGA */
/* #undef SDL_JOYSTICK_BEOS */
/* #undef SDL_JOYSTICK_DC */
/* #undef SDL_JOYSTICK_DUMMY */
/* #undef SDL_JOYSTICK_IOKIT */
#define SDL_JOYSTICK_LINUX 1
/* #undef SDL_JOYSTICK_LINUXEV */
/* #undef SDL_JOYSTICK_MACOS */
/* #undef SDL_JOYSTICK_MINT */
/* #undef SDL_JOYSTICK_OS2 */
/* #undef SDL_JOYSTICK_RISCOS */
/* #undef SDL_JOYSTICK_WINMM */
/* #undef SDL_JOYSTICK_USBHID */
/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */
/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */
#define SDL_JOYSTICK_DISABLED 1
/* Enable various shared object loading systems */
/* #undef SDL_LOADSO_BEOS */
/* #undef SDL_LOADSO_DLCOMPAT */
#define SDL_LOADSO_DLOPEN 1
/* #undef SDL_LOADSO_LDG */
/* #undef SDL_LOADSO_MACOS */
/* #undef SDL_LOADSO_OS2 */
/* #undef SDL_LOADSO_WIN32 */
/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
#define SDL_LOADSO_DISABLED 1
/* Enable various threading systems */
/* #undef SDL_THREAD_AMIGA */
/* #undef SDL_THREAD_BEOS */
/* #undef SDL_THREAD_DC */
/* #undef SDL_THREAD_EPOC */
/* #undef SDL_THREAD_OS2 */
/* #undef SDL_THREAD_PTH */
#define SDL_THREAD_PTHREAD 1
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
/* #undef SDL_THREAD_SPROC */
/* #undef SDL_THREAD_WIN32 */
/* Enable the stub thread support (src/thread/generic/\*.c) */
#define SDL_THREADS_DISABLED 1
/* Enable various timer systems */
/* #undef SDL_TIMER_AMIGA */
/* #undef SDL_TIMER_BEOS */
/* #undef SDL_TIMER_DC */
/* #undef SDL_TIMER_EPOC */
/* #undef SDL_TIMER_MACOS */
/* #undef SDL_TIMER_MINT */
/* #undef SDL_TIMER_OS2 */
/* #undef SDL_TIMER_RISCOS */
#define SDL_TIMER_UNIX 1
/* #undef SDL_TIMER_WIN32 */
/* #undef SDL_TIMER_WINCE */
/* Enable the stub timer support (src/timer/dummy/\*.c) */
#define SDL_TIMERS_DISABLED 1
/* Enable various video drivers */
/* #undef SDL_VIDEO_DRIVER_AALIB */
/* #undef SDL_VIDEO_DRIVER_BWINDOW */
/* #undef SDL_VIDEO_DRIVER_CYBERGRAPHICS */
/* #undef SDL_VIDEO_DRIVER_DC */
/* #undef SDL_VIDEO_DRIVER_DDRAW */
#define SDL_VIDEO_DRIVER_DGA 1
/* #undef SDL_VIDEO_DRIVER_DIRECTFB */
/* #undef SDL_VIDEO_DRIVER_DRAWSPROCKET */
#define SDL_VIDEO_DRIVER_DUMMY 1
/* #undef SDL_VIDEO_DRIVER_EPOC */
#define SDL_VIDEO_DRIVER_FBCON 1
/* #undef SDL_VIDEO_DRIVER_GAPI */
/* #undef SDL_VIDEO_DRIVER_GEM */
/* #undef SDL_VIDEO_DRIVER_GGI */
/* #undef SDL_VIDEO_DRIVER_IPOD */
/* #undef SDL_VIDEO_DRIVER_NANOX */
/* #undef SDL_VIDEO_DRIVER_OS2FS */
/* #undef SDL_VIDEO_DRIVER_PHOTON */
/* #undef SDL_VIDEO_DRIVER_PICOGUI */
/* #undef SDL_VIDEO_DRIVER_PS2GS */
/* #undef SDL_VIDEO_DRIVER_QTOPIA */
/* #undef SDL_VIDEO_DRIVER_QUARTZ */
/* #undef SDL_VIDEO_DRIVER_RISCOS */
/* #undef SDL_VIDEO_DRIVER_SVGALIB */
/* #undef SDL_VIDEO_DRIVER_TOOLBOX */
/* #undef SDL_VIDEO_DRIVER_VGL */
/* #undef SDL_VIDEO_DRIVER_WINDIB */
/* #undef SDL_VIDEO_DRIVER_WSCONS */
#define SDL_VIDEO_DRIVER_X11 1
#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1
#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
#define SDL_VIDEO_DRIVER_X11_XME 1
#define SDL_VIDEO_DRIVER_X11_XV 1
/* #undef SDL_VIDEO_DRIVER_XBIOS */
/* Enable the dummy video driver (src/video/dummy/\*.c) */
#define SDL_VIDEO_DRIVER_DUMMY 1
/* Enable OpenGL support */
#define SDL_VIDEO_OPENGL 1
#define SDL_VIDEO_OPENGL_GLX 1
/* #undef SDL_VIDEO_OPENGL_WGL */
/* #undef SDL_VIDEO_OPENGL_OSMESA */
/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
#endif /* platform config */
/* Enable assembly routines */
#define SDL_ASSEMBLY_ROUTINES 1
/* #undef SDL_HERMES_BLITTERS */
/* #undef SDL_ALTIVEC_BLITTERS */
#endif /* _SDL_config_h */
......@@ -4,3 +4,4 @@ Makefile
*.o
*.lo
*.la
SDL_config.h
......@@ -236,7 +236,7 @@ Bool XiGMiscQueryVersion(Display *dpy, int *major, int *minor)
xXiGMiscQueryVersionReply rep;
XExtDisplayInfo *info = XiGMiscFindDisplay(dpy);
if (!pXQueryExtension(dpy, XIGMISC_PROTOCOL_NAME, &opcode, &event, &error))
if (!XQueryExtension(dpy, XIGMISC_PROTOCOL_NAME, &opcode, &event, &error))
return xFalse;
XiGMiscCheckExtension(dpy, info, xFalse);
......@@ -247,7 +247,7 @@ Bool XiGMiscQueryVersion(Display *dpy, int *major, int *minor)
req->major = XIGMISC_MAJOR_VERSION;
req->minor = XIGMISC_MINOR_VERSION;
if (!p_XReply (dpy, (xReply *)&rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *)&rep, 0, xTrue)) {
UnlockDisplay(dpy);
SyncHandle();
return xFalse;
......@@ -274,7 +274,7 @@ int XiGMiscQueryViews(Display *dpy, int screen, XiGMiscViewInfo **pviews)
XiGMiscGetReq (XiGMiscQueryViews, req, info);
req->screen = screen;
if (!p_XReply (dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return 0;
......@@ -286,13 +286,13 @@ int XiGMiscQueryViews(Display *dpy, int screen, XiGMiscViewInfo **pviews)
size = sizeof(XiGMiscViewInfo) * n;
views = (XiGMiscViewInfo*)Xmalloc(size);
if (!views) {
p_XEatData(dpy, (unsigned long)size);
_XEatData(dpy, (unsigned long)size);
UnlockDisplay(dpy);
SyncHandle();
return 0;
}
p_XReadPad(dpy, (void*)views, size);
_XReadPad(dpy, (void*)views, size);
*pviews = views;
}
......@@ -317,7 +317,7 @@ int XiGMiscQueryResolutions(Display *dpy, int screen, int view, int *pactive, Xi
req->screen = screen;
req->view = view;
if (!p_XReply (dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return 0;
......@@ -329,13 +329,13 @@ int XiGMiscQueryResolutions(Display *dpy, int screen, int view, int *pactive, Xi
size = sizeof(XiGMiscResolutionInfo) * n;
resolutions = (XiGMiscResolutionInfo*)Xmalloc(size);
if (!resolutions) {
p_XEatData(dpy, (unsigned long)size);
_XEatData(dpy, (unsigned long)size);
UnlockDisplay(dpy);
SyncHandle();
return 0;
}
p_XReadPad(dpy, (void*)resolutions, size);
_XReadPad(dpy, (void*)resolutions, size);
*presolutions = resolutions;
*pactive = rep.active;
......@@ -383,7 +383,7 @@ Bool XiGMiscFullScreen(Display *dpy, int screen, XID window, XID cmap)
req->window = window;
req->cmap = cmap;
if (!p_XReply (dpy, (xReply *)&rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *)&rep, 0, xTrue)) {
UnlockDisplay(dpy);
SyncHandle();
return xFalse;
......
......@@ -113,7 +113,7 @@ Status SDL_NAME(XPanoramiXQueryVersion)(
req->panoramiXReqType = X_PanoramiXQueryVersion;
req->clientMajor = PANORAMIX_MAJOR_VERSION;
req->clientMinor = PANORAMIX_MINOR_VERSION;
if (!p_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return 0;
......@@ -147,7 +147,7 @@ Status SDL_NAME(XPanoramiXGetState) (
req->reqType = info->codes->major_opcode;
req->panoramiXReqType = X_PanoramiXGetState;
req->window = drawable;
if (!p_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return 0;
......@@ -176,7 +176,7 @@ Status SDL_NAME(XPanoramiXGetScreenCount) (
req->reqType = info->codes->major_opcode;
req->panoramiXReqType = X_PanoramiXGetScreenCount;
req->window = drawable;
if (!p_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return 0;
......@@ -207,7 +207,7 @@ Status SDL_NAME(XPanoramiXGetScreenSize) (
req->panoramiXReqType = X_PanoramiXGetScreenSize;
req->window = drawable;
req->screen = screen_num; /* need to define */
if (!p_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return 0;
......@@ -287,7 +287,7 @@ SDL_NAME(XineramaQueryScreens)(
GetReq (XineramaQueryScreens, req);
req->reqType = info->codes->major_opcode;
req->panoramiXReqType = X_XineramaQueryScreens;
if (!p_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
UnlockDisplay (dpy);
SyncHandle ();
return NULL;
......@@ -299,7 +299,7 @@ SDL_NAME(XineramaQueryScreens)(
int i;
for(i = 0; i < rep.number; i++) {
p_XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
_XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
scrnInfo[i].screen_number = i;
scrnInfo[i].x_org = scratch.x_org;
scrnInfo[i].y_org = scratch.y_org;
......@@ -309,7 +309,7 @@ SDL_NAME(XineramaQueryScreens)(
*number = rep.number;
} else
p_XEatData(dpy, rep.length << 2);
_XEatData(dpy, rep.length << 2);
}
UnlockDisplay (dpy);
......
......@@ -121,7 +121,7 @@ SDL_NAME(XvQueryExtension)(
XvGetReq(QueryExtension, req);
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return XvBadExtension;
......@@ -171,7 +171,7 @@ SDL_NAME(XvQueryAdaptors)(
/* READ THE REPLY */
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
UnlockDisplay(dpy);
SyncHandle();
return(XvBadReply);
......@@ -183,7 +183,7 @@ SDL_NAME(XvQueryAdaptors)(
SyncHandle();
return(XvBadAlloc);
}
p_XRead (dpy, buffer, size);
_XRead (dpy, buffer, size);
u.buffer = buffer;
......@@ -330,7 +330,7 @@ SDL_NAME(XvQueryEncodings)(
/* READ THE REPLY */
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
UnlockDisplay(dpy);
SyncHandle();
return(XvBadReply);
......@@ -342,7 +342,7 @@ SDL_NAME(XvQueryEncodings)(
SyncHandle();
return(XvBadAlloc);
}
p_XRead (dpy, buffer, size);
_XRead (dpy, buffer, size);
u.buffer = buffer;
......@@ -617,7 +617,7 @@ SDL_NAME(XvGrabPort)(
req->port = port;
req->time = time;
if (p_XReply (dpy, (xReply *) &rep, 0, xTrue) == 0)
if (_XReply (dpy, (xReply *) &rep, 0, xTrue) == 0)
rep.result = GrabSuccess;
result = rep.result;
......@@ -745,7 +745,7 @@ SDL_NAME(XvGetPortAttribute) (
/* READ THE REPLY */
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
UnlockDisplay(dpy);
SyncHandle();
return(XvBadReply);
......@@ -790,7 +790,7 @@ SDL_NAME(XvQueryBestSize)(
/* READ THE REPLY */
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
UnlockDisplay(dpy);
SyncHandle();
return(XvBadReply);
......@@ -825,7 +825,7 @@ SDL_NAME(XvQueryPortAttributes)(Display *dpy, XvPortID port, int *num)
/* READ THE REPLY */
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
UnlockDisplay(dpy);
SyncHandle();
return ret;
......@@ -840,17 +840,17 @@ SDL_NAME(XvQueryPortAttributes)(Display *dpy, XvPortID port, int *num)
int i;
for(i = 0; i < rep.num_attributes; i++) {
p_XRead(dpy, (char*)(&Info), sz_xvAttributeInfo);
_XRead(dpy, (char*)(&Info), sz_xvAttributeInfo);
ret[i].flags = (int)Info.flags;
ret[i].min_value = Info.min;
ret[i].max_value = Info.max;
ret[i].name = marker;
p_XRead(dpy, marker, Info.size);
_XRead(dpy, marker, Info.size);
marker += Info.size;
(*num)++;
}
} else
p_XEatData(dpy, rep.length << 2);
_XEatData(dpy, rep.length << 2);
}
UnlockDisplay(dpy);
......@@ -880,7 +880,7 @@ SDL_NAME(XvImageFormatValues) * SDL_NAME(XvListImageFormats) (
/* READ THE REPLY */
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse) == 0) {
UnlockDisplay(dpy);
SyncHandle();
return NULL;
......@@ -894,7 +894,7 @@ SDL_NAME(XvImageFormatValues) * SDL_NAME(XvListImageFormats) (
int i;
for(i = 0; i < rep.num_formats; i++) {
p_XRead(dpy, (char*)(&Info), sz_xvImageFormatInfo);
_XRead(dpy, (char*)(&Info), sz_xvImageFormatInfo);
ret[i].id = Info.id;
ret[i].type = Info.type;
ret[i].byte_order = Info.byte_order;
......@@ -920,7 +920,7 @@ SDL_NAME(XvImageFormatValues) * SDL_NAME(XvListImageFormats) (
(*num)++;
}
} else
p_XEatData(dpy, rep.length << 2);
_XEatData(dpy, rep.length << 2);
}
UnlockDisplay(dpy);
......@@ -954,7 +954,7 @@ SDL_NAME(XvImage) * SDL_NAME(XvCreateImage) (
/* READ THE REPLY */
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return NULL;
......@@ -970,10 +970,10 @@ SDL_NAME(XvImage) * SDL_NAME(XvCreateImage) (
ret->offsets = ret->pitches + rep.num_planes;
ret->data = data;
ret->obdata = NULL;
p_XRead(dpy, (char*)(ret->pitches), rep.num_planes << 2);
p_XRead(dpy, (char*)(ret->offsets), rep.num_planes << 2);
_XRead(dpy, (char*)(ret->pitches), rep.num_planes << 2);
_XRead(dpy, (char*)(ret->offsets), rep.num_planes << 2);
} else
p_XEatData(dpy, rep.length << 2);
_XEatData(dpy, rep.length << 2);
UnlockDisplay(dpy);
SyncHandle();
......@@ -1122,7 +1122,7 @@ xv_wire_to_event(Display *dpy, XEvent *host, xEvent *wire)
case XvVideoNotify:
re->xvvideo.type = event->u.u.type & 0x7f;
re->xvvideo.serial =
p_XSetLastRequestRead(dpy, (xGenericReply *)event);
_XSetLastRequestRead(dpy, (xGenericReply *)event);
re->xvvideo.send_event = ((event->u.u.type & 0x80) != 0);
re->xvvideo.display = dpy;
re->xvvideo.time = event->u.videoNotify.time;
......@@ -1133,7 +1133,7 @@ xv_wire_to_event(Display *dpy, XEvent *host, xEvent *wire)
case XvPortNotify:
re->xvport.type = event->u.u.type & 0x7f;
re->xvport.serial =
p_XSetLastRequestRead(dpy, (xGenericReply *)event);
_XSetLastRequestRead(dpy, (xGenericReply *)event);
re->xvport.send_event = ((event->u.u.type & 0x80) != 0);
re->xvport.display = dpy;
re->xvport.time = event->u.portNotify.time;
......
......@@ -53,7 +53,7 @@ SOFTWARE.
#define XvGetReq(name, req) \
WORD64ALIGN\
if ((dpy->bufptr + SIZEOF(xv##name##Req)) > dpy->bufmax)\
p_XFlush(dpy);\
_XFlush(dpy);\
req = (xv##name##Req *)(dpy->last_req = dpy->bufptr);\
req->reqType = info->codes->major_opcode;\
req->xvReqType = xv_##name; \
......@@ -65,7 +65,7 @@ SOFTWARE.
#define XvGetReq(name, req) \
WORD64ALIGN\
if ((dpy->bufptr + SIZEOF(xv/**/name/**/Req)) > dpy->bufmax)\
p_XFlush(dpy);\
_XFlush(dpy);\
req = (xv/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
req->reqType = info->codes->major_opcode;\
req->xvReqType = xv_/**/name;\
......
......@@ -114,7 +114,7 @@ Bool SDL_NAME(XF86DGAGetVideoLL)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XF86DGAGetVideoLL;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -149,7 +149,7 @@ Bool SDL_NAME(XF86DGADirectVideoLL)(
req->enable = enable;
UnlockDisplay(dpy);
SyncHandle();
pXSync(dpy,False);
XSync(dpy,False);
return True;
}
......@@ -170,7 +170,7 @@ Bool SDL_NAME(XF86DGAGetViewPortSize)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XF86DGAGetViewPortSize;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -205,7 +205,7 @@ Bool SDL_NAME(XF86DGASetViewPort)(
req->y = y;
UnlockDisplay(dpy);
SyncHandle();
pXSync(dpy,False);
XSync(dpy,False);
return True;
}
......@@ -226,7 +226,7 @@ Bool SDL_NAME(XF86DGAGetVidPage)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XF86DGAGetVidPage;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -257,7 +257,7 @@ Bool SDL_NAME(XF86DGASetVidPage)(
req->vpage = vpage;
UnlockDisplay(dpy);
SyncHandle();
pXSync(dpy,False);
XSync(dpy,False);
return True;
}
......@@ -279,7 +279,7 @@ Bool SDL_NAME(XF86DGAInstallColormap)(
req->id = cmap;
UnlockDisplay(dpy);
SyncHandle();
pXSync(dpy,False);
XSync(dpy,False);
return True;
}
......@@ -299,7 +299,7 @@ Bool SDL_NAME(XF86DGAQueryDirectVideo)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XF86DGAQueryDirectVideo;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -327,7 +327,7 @@ Bool SDL_NAME(XF86DGAViewPortChanged)(
req->dgaReqType = X_XF86DGAViewPortChanged;
req->screen = screen;
req->n = n;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -600,7 +600,7 @@ SDL_NAME(XF86DGAForkApp)(int screen)
for (i = 0; i < numScrs; i++) {
sp = scrList[i];
SDL_NAME(XF86DGADirectVideoLL)(sp->display, sp->screen, 0);
pXSync(sp->display, False);
XSync(sp->display, False);
}
if (WIFEXITED(status))
_exit(0);
......@@ -660,7 +660,7 @@ XF86cleanup(int sig)
for (i = 0; i < numScrs; i++) {
sp = scrList[i];
SDL_NAME(XF86DGADirectVideo)(sp->display, sp->screen, 0);
pXSync(sp->display, False);
XSync(sp->display, False);
}
_exit(3);
}
......
......@@ -107,7 +107,7 @@ xdga_wire_to_event(
case MotionNotify:
mevent = (SDL_NAME(XDGAMotionEvent)*)event;
mevent->type = wire->u.u.type & 0x7F;
mevent->serial = p_XSetLastRequestRead(dpy, (xGenericReply *)wire);
mevent->serial = _XSetLastRequestRead(dpy, (xGenericReply *)wire);
mevent->display = dpy;
mevent->screen = wire->u.event.screen;
mevent->time = wire->u.event.time;
......@@ -119,7 +119,7 @@ xdga_wire_to_event(
case ButtonRelease:
bevent = (SDL_NAME(XDGAButtonEvent)*)event;
bevent->type = wire->u.u.type & 0x7F;
bevent->serial = p_XSetLastRequestRead(dpy, (xGenericReply *)wire);
bevent->serial = _XSetLastRequestRead(dpy, (xGenericReply *)wire);
bevent->display = dpy;
bevent->screen = wire->u.event.screen;
bevent->time = wire->u.event.time;
......@@ -130,7 +130,7 @@ xdga_wire_to_event(
case KeyRelease:
kevent = (SDL_NAME(XDGAKeyEvent)*)event;
kevent->type = wire->u.u.type & 0x7F;
kevent->serial = p_XSetLastRequestRead(dpy, (xGenericReply *)wire);
kevent->serial = _XSetLastRequestRead(dpy, (xGenericReply *)wire);
kevent->display = dpy;
kevent->screen = wire->u.event.screen;
kevent->time = wire->u.event.time;
......@@ -175,7 +175,7 @@ Bool SDL_NAME(XDGAQueryVersion)(
GetReq(XDGAQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XDGAQueryVersion;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -192,8 +192,8 @@ Bool SDL_NAME(XDGAQueryVersion)(
i < XF86DGANumberEvents;
i++, j++)
{
pXESetWireToEvent(dpy, j, xdga_wire_to_event);
pXESetEventToWire(dpy, j, xdga_event_to_wire);
XESetWireToEvent(dpy, j, xdga_wire_to_event);
XESetEventToWire(dpy, j, xdga_event_to_wire);
}
SDL_NAME(XDGASetClientVersion)(dpy);
}
......@@ -236,7 +236,7 @@ Bool SDL_NAME(XDGAOpenFramebuffer)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XDGAOpenFramebuffer;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -244,7 +244,7 @@ Bool SDL_NAME(XDGAOpenFramebuffer)(
if(rep.length) {
deviceName = Xmalloc(rep.length << 2);
p_XRead(dpy, deviceName, rep.length << 2);
_XRead(dpy, deviceName, rep.length << 2);
}
ret = SDL_NAME(XDGAMapFramebuffer)(screen, deviceName,
......@@ -301,7 +301,7 @@ SDL_NAME(XDGAMode)* SDL_NAME(XDGAQueryModes)(
req->dgaReqType = X_XDGAQueryModes;
req->screen = screen;
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if(rep.length) {
xXDGAModeInfo info;
int i, size;
......@@ -315,7 +315,7 @@ SDL_NAME(XDGAMode)* SDL_NAME(XDGAQueryModes)(
if(modes) {
for(i = 0; i < rep.number; i++) {
p_XRead(dpy, (char*)(&info), sz_xXDGAModeInfo);
_XRead(dpy, (char*)(&info), sz_xXDGAModeInfo);
modes[i].num = info.num;
modes[i].verticalRefresh =
......@@ -343,13 +343,13 @@ SDL_NAME(XDGAMode)* SDL_NAME(XDGAQueryModes)(
modes[i].reserved1 = info.reserved1;
modes[i].reserved2 = info.reserved2;
p_XRead(dpy, offset, info.name_size);
_XRead(dpy, offset, info.name_size);
modes[i].name = offset;
offset += info.name_size;
}
*num = rep.number;
} else
p_XEatData(dpy, rep.length << 2);
_XEatData(dpy, rep.length << 2);
}
}
......@@ -382,7 +382,7 @@ SDL_NAME(XDGASetMode)(
req->mode = mode;
req->pid = pid = XAllocID(dpy);
if (p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if(rep.length) {
xXDGAModeInfo info;
int size;
......@@ -393,7 +393,7 @@ SDL_NAME(XDGASetMode)(
dev = (SDL_NAME(XDGADevice)*)Xmalloc(sizeof(SDL_NAME(XDGADevice)) + size);
if(dev) {
p_XRead(dpy, (char*)(&info), sz_xXDGAModeInfo);
_XRead(dpy, (char*)(&info), sz_xXDGAModeInfo);
dev->mode.num = info.num;
dev->mode.verticalRefresh =
......@@ -422,7 +422,7 @@ SDL_NAME(XDGASetMode)(
dev->mode.reserved2 = info.reserved2;
dev->mode.name = (char*)(&dev[1]);
p_XRead(dpy, dev->mode.name, info.name_size);
_XRead(dpy, dev->mode.name, info.name_size);
dev->pixmap = (rep.flags & XDGAPixmap) ? pid : 0;
dev->data = SDL_NAME(XDGAGetMappedMemory)(screen);
......@@ -613,7 +613,7 @@ int SDL_NAME(XDGAGetViewportStatus)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XDGAGetViewportStatus;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse))
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse))
status = rep.status;
UnlockDisplay(dpy);
SyncHandle();
......@@ -635,7 +635,7 @@ void SDL_NAME(XDGASync)(
req->reqType = info->codes->major_opcode;
req->dgaReqType = X_XDGASync;
req->screen = screen;
p_XReply(dpy, (xReply *)&rep, 0, xFalse);
_XReply(dpy, (xReply *)&rep, 0, xFalse);
UnlockDisplay(dpy);
SyncHandle();
}
......@@ -662,7 +662,7 @@ void SDL_NAME(XDGAChangePixmapMode)(
req->x = *x;
req->y = *y;
req->flags = mode;
p_XReply(dpy, (xReply *)&rep, 0, xFalse);
_XReply(dpy, (xReply *)&rep, 0, xFalse);
*x = rep.x;
*y = rep.y;
UnlockDisplay(dpy);
......
......@@ -132,7 +132,7 @@ SDL_NAME(XF86VidModeQueryVersion)(dpy, majorVersion, minorVersion)
GetReq(XF86VidModeQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->xf86vidmodeReqType = X_XF86VidModeQueryVersion;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -200,7 +200,7 @@ SDL_NAME(XF86VidModeGetGamma)(Display *dpy, int screen, SDL_NAME(XF86VidModeGamm
req->reqType = info->codes->major_opcode;
req->xf86vidmodeReqType = X_XF86VidModeGetGamma;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -236,7 +236,7 @@ SDL_NAME(XF86VidModeGetModeLine)(dpy, screen, dotclock, modeline)
req->screen = screen;
if (majorVersion < 2) {
if (!p_XReply(dpy, (xReply *)&oldrep,
if (!_XReply(dpy, (xReply *)&oldrep,
(SIZEOF(xXF86OldVidModeGetModeLineReply) - SIZEOF(xReply)) >> 2, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
......@@ -255,7 +255,7 @@ SDL_NAME(XF86VidModeGetModeLine)(dpy, screen, dotclock, modeline)
modeline->flags = oldrep.flags;
modeline->privsize = oldrep.privsize;
} else {
if (!p_XReply(dpy, (xReply *)&rep,
if (!_XReply(dpy, (xReply *)&rep,
(SIZEOF(xXF86VidModeGetModeLineReply) - SIZEOF(xReply)) >> 2, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
......@@ -277,11 +277,11 @@ SDL_NAME(XF86VidModeGetModeLine)(dpy, screen, dotclock, modeline)
if (modeline->privsize > 0) {
if (!(modeline->private = Xcalloc(modeline->privsize, sizeof(INT32)))) {
p_XEatData(dpy, (modeline->privsize) * sizeof(INT32));
_XEatData(dpy, (modeline->privsize) * sizeof(INT32));
Xfree(modeline->private);
return False;
}
p_XRead(dpy, (char*)modeline->private, modeline->privsize * sizeof(INT32));
_XRead(dpy, (char*)modeline->private, modeline->privsize * sizeof(INT32));
} else {
modeline->private = NULL;
}
......@@ -330,7 +330,7 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
req->reqType = info->codes->major_opcode;
req->xf86vidmodeReqType = X_XF86VidModeGetAllModeLines;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep,
if (!_XReply(dpy, (xReply *)&rep,
(SIZEOF(xXF86VidModeGetAllModeLinesReply) - SIZEOF(xReply)) >> 2, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
......@@ -343,9 +343,9 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
sizeof(SDL_NAME(XF86VidModeModeInfo) *)
+sizeof(SDL_NAME(XF86VidModeModeInfo))))) {
if (majorVersion < 2)
p_XEatData(dpy, (rep.modecount) * sizeof(xXF86OldVidModeModeInfo));
_XEatData(dpy, (rep.modecount) * sizeof(xXF86OldVidModeModeInfo));
else
p_XEatData(dpy, (rep.modecount) * sizeof(xXF86VidModeModeInfo));
_XEatData(dpy, (rep.modecount) * sizeof(xXF86VidModeModeInfo));
Xfree(modelines);
UnlockDisplay(dpy);
SyncHandle();
......@@ -359,7 +359,7 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
for (i = 0; i < rep.modecount; i++) {
modelines[i] = mdinfptr++;
if (majorVersion < 2) {
p_XRead(dpy, (char*)&oldxmdline, sizeof(xXF86OldVidModeModeInfo));
_XRead(dpy, (char*)&oldxmdline, sizeof(xXF86OldVidModeModeInfo));
modelines[i]->dotclock = oldxmdline.dotclock;
modelines[i]->hdisplay = oldxmdline.hdisplay;
modelines[i]->hsyncstart = oldxmdline.hsyncstart;
......@@ -379,10 +379,10 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
if (oldxmdline.privsize > 0) {
if (!(modelines[i]->private =
Xcalloc(oldxmdline.privsize, sizeof(INT32)))) {
p_XEatData(dpy, (oldxmdline.privsize) * sizeof(INT32));
_XEatData(dpy, (oldxmdline.privsize) * sizeof(INT32));
Xfree(modelines[i]->private);
} else {
p_XRead(dpy, (char*)modelines[i]->private,
_XRead(dpy, (char*)modelines[i]->private,
oldxmdline.privsize * sizeof(INT32));
}
} else {
......@@ -390,7 +390,7 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
}
}
} else {
p_XRead(dpy, (char*)&xmdline, sizeof(xXF86VidModeModeInfo));
_XRead(dpy, (char*)&xmdline, sizeof(xXF86VidModeModeInfo));
modelines[i]->dotclock = xmdline.dotclock;
modelines[i]->hdisplay = xmdline.hdisplay;
modelines[i]->hsyncstart = xmdline.hsyncstart;
......@@ -410,10 +410,10 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
if (xmdline.privsize > 0) {
if (!(modelines[i]->private =
Xcalloc(xmdline.privsize, sizeof(INT32)))) {
p_XEatData(dpy, (xmdline.privsize) * sizeof(INT32));
_XEatData(dpy, (xmdline.privsize) * sizeof(INT32));
Xfree(modelines[i]->private);
} else {
p_XRead(dpy, (char*)modelines[i]->private,
_XRead(dpy, (char*)modelines[i]->private,
xmdline.privsize * sizeof(INT32));
}
} else {
......@@ -435,7 +435,7 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
#define GetOldReq(name, oldname, req) \
WORD64ALIGN\
if ((dpy->bufptr + SIZEOF(x##oldname##Req)) > dpy->bufmax)\
p_XFlush(dpy);\
_XFlush(dpy);\
req = (x##oldname##Req *)(dpy->last_req = dpy->bufptr);\
req->reqType = X_##name;\
req->length = (SIZEOF(x##oldname##Req))>>2;\
......@@ -446,7 +446,7 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr)
#define GetOldReq(name, oldname, req) \
WORD64ALIGN\
if ((dpy->bufptr + SIZEOF(x/**/oldname/**/Req)) > dpy->bufmax)\
p_XFlush(dpy);\
_XFlush(dpy);\
req = (x/**/oldname/**/Req *)(dpy->last_req = dpy->bufptr);\
req->reqType = X_/**/name;\
req->length = (SIZEOF(x/**/oldname/**/Req))>>2;\
......@@ -754,7 +754,7 @@ SDL_NAME(XF86VidModeValidateModeLine) (dpy, screen, modeline)
modeline->privsize * sizeof(INT32));
}
}
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return MODE_BAD;
......@@ -916,7 +916,7 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor)
req->reqType = info->codes->major_opcode;
req->xf86vidmodeReqType = X_XF86VidModeGetMonitor;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -928,7 +928,7 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor)
#endif
if (rep.vendorLength) {
if (!(monitor->vendor = (char *)Xcalloc(rep.vendorLength + 1, 1))) {
p_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
((rep.vendorLength+3) & ~3) + ((rep.modelLength+3) & ~3));
UnlockDisplay(dpy);
SyncHandle();
......@@ -939,7 +939,7 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor)
}
if (rep.modelLength) {
if (!(monitor->model = Xcalloc(rep.modelLength + 1, 1))) {
p_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
((rep.vendorLength+3) & ~3) + ((rep.modelLength+3) & ~3));
if (monitor->vendor)
Xfree(monitor->vendor);
......@@ -951,7 +951,7 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor)
monitor->model = NULL;
}
if (!(monitor->hsync = Xcalloc(rep.nhsync, sizeof(SDL_NAME(XF86VidModeSyncRange))))) {
p_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
((rep.vendorLength+3) & ~3) + ((rep.modelLength+3) & ~3));
if (monitor->vendor)
......@@ -963,7 +963,7 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor)
return False;
}
if (!(monitor->vsync = Xcalloc(rep.nvsync, sizeof(SDL_NAME(XF86VidModeSyncRange))))) {
p_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 +
((rep.vendorLength+3) & ~3) + ((rep.modelLength+3) & ~3));
if (monitor->vendor)
Xfree(monitor->vendor);
......@@ -975,21 +975,21 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor)
return False;
}
for (i = 0; i < rep.nhsync; i++) {
p_XRead(dpy, (char *)&syncrange, 4);
_XRead(dpy, (char *)&syncrange, 4);
monitor->hsync[i].lo = (float)(syncrange & 0xFFFF) / 100.0;
monitor->hsync[i].hi = (float)(syncrange >> 16) / 100.0;
}
for (i = 0; i < rep.nvsync; i++) {
p_XRead(dpy, (char *)&syncrange, 4);
_XRead(dpy, (char *)&syncrange, 4);
monitor->vsync[i].lo = (float)(syncrange & 0xFFFF) / 100.0;
monitor->vsync[i].hi = (float)(syncrange >> 16) / 100.0;
}
if (rep.vendorLength)
p_XReadPad(dpy, monitor->vendor, rep.vendorLength);
_XReadPad(dpy, monitor->vendor, rep.vendorLength);
else
monitor->vendor = "";
if (rep.modelLength)
p_XReadPad(dpy, monitor->model, rep.modelLength);
_XReadPad(dpy, monitor->model, rep.modelLength);
else
monitor->model = "";
......@@ -1037,7 +1037,7 @@ SDL_NAME(XF86VidModeGetViewPort)(dpy, screen, x, y)
*x = 0;
*y = 0;
} else {
if (!p_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
......@@ -1095,7 +1095,7 @@ SDL_NAME(XF86VidModeGetDotClocks)(dpy, screen,
req->reqType = info->codes->major_opcode;
req->xf86vidmodeReqType = X_XF86VidModeGetDotClocks;
req->screen = screen;
if (!p_XReply(dpy, (xReply *)&rep,
if (!_XReply(dpy, (xReply *)&rep,
(SIZEOF(xXF86VidModeGetDotClocksReply) - SIZEOF(xReply)) >> 2, xFalse))
{
UnlockDisplay(dpy);
......@@ -1107,7 +1107,7 @@ SDL_NAME(XF86VidModeGetDotClocks)(dpy, screen,
*flagsPtr = rep.flags;
if (!(dotclocks = (int*) Xcalloc(rep.clocks, sizeof(int)))) {
p_XEatData(dpy, (rep.clocks) * 4);
_XEatData(dpy, (rep.clocks) * 4);
Xfree(dotclocks);
UnlockDisplay(dpy);
SyncHandle();
......@@ -1115,7 +1115,7 @@ SDL_NAME(XF86VidModeGetDotClocks)(dpy, screen,
}
for (i = 0; i < rep.clocks; i++) {
p_XRead(dpy, (char*)&dotclk, 4);
_XRead(dpy, (char*)&dotclk, 4);
dotclocks[i] = dotclk;
}
*clocksPtr = dotclocks;
......@@ -1146,9 +1146,9 @@ SDL_NAME(XF86VidModeSetGammaRamp) (
req->screen = screen;
req->length += (length >> 1) * 3;
req->size = size;
p_XSend(dpy, (char*)red, size * 2);
p_XSend(dpy, (char*)green, size * 2);
p_XSend(dpy, (char*)blue, size * 2);
_XSend(dpy, (char*)red, size * 2);
_XSend(dpy, (char*)green, size * 2);
_XSend(dpy, (char*)blue, size * 2);
UnlockDisplay(dpy);
SyncHandle();
return True;
......@@ -1177,15 +1177,15 @@ SDL_NAME(XF86VidModeGetGammaRamp) (
req->xf86vidmodeReqType = X_XF86VidModeGetGammaRamp;
req->screen = screen;
req->size = size;
if (!p_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
UnlockDisplay (dpy);
SyncHandle ();
return False;
}
if(rep.size) {
p_XRead(dpy, (char*)red, rep.size << 1);
p_XRead(dpy, (char*)green, rep.size << 1);
p_XRead(dpy, (char*)blue, rep.size << 1);
_XRead(dpy, (char*)red, rep.size << 1);
_XRead(dpy, (char*)green, rep.size << 1);
_XRead(dpy, (char*)blue, rep.size << 1);
}
UnlockDisplay(dpy);
......@@ -1212,7 +1212,7 @@ Bool SDL_NAME(XF86VidModeGetGammaRampSize)(
req->reqType = info->codes->major_opcode;
req->xf86vidmodeReqType = X_XF86VidModeGetGammaRampSize;
req->screen = screen;
if (!p_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
UnlockDisplay (dpy);
SyncHandle ();
return False;
......
......@@ -175,9 +175,9 @@ extern XExtDisplayInfo *XextFindDisplay(
#define XextHasExtension(i) ((i) && ((i)->codes))
#define XextCheckExtension(dpy,i,name,val) \
if (!XextHasExtension(i)) { pXMissingExtension (dpy, name); return val; }
if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return val; }
#define XextSimpleCheckExtension(dpy,i,name) \
if (!XextHasExtension(i)) { pXMissingExtension (dpy, name); return; }
if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return; }
/*
......@@ -190,9 +190,9 @@ extern XExtDisplayInfo *XextFindDisplay(
XExtDisplayInfo *proc (Display *dpy) \
{ \
XExtDisplayInfo *dpyinfo; \
if (!extinfo) { if (!(extinfo = pXextCreateExtension())) return NULL; } \
if (!(dpyinfo = pXextFindDisplay (extinfo, dpy))) \
dpyinfo = pXextAddDisplay (extinfo,dpy,extname,hooks,nev,data); \
if (!extinfo) { if (!(extinfo = XextCreateExtension())) return NULL; } \
if (!(dpyinfo = XextFindDisplay (extinfo, dpy))) \
dpyinfo = XextAddDisplay (extinfo,dpy,extname,hooks,nev,data); \
return dpyinfo; \
}
......@@ -202,7 +202,7 @@ XExtDisplayInfo *proc (Display *dpy) \
#define XEXT_GENERATE_CLOSE_DISPLAY(proc,extinfo) \
int proc (Display *dpy, XExtCodes *codes) \
{ \
return pXextRemoveDisplay (extinfo, dpy); \
return XextRemoveDisplay (extinfo, dpy); \
}
#define XEXT_CLOSE_DISPLAY_PROTO(proc) \
......@@ -215,7 +215,7 @@ char *proc (Display *dpy, int code, XExtCodes *codes, char *buf, int n) \
if (code >= 0 && code < nerr) { \
char tmp[256]; \
SDL_snprintf (tmp, SDL_arraysize(tmp), "%s.%d", extname, code); \
pXGetErrorDatabaseText (dpy, "XProtoError", tmp, errl[code], buf, n); \
XGetErrorDatabaseText (dpy, "XProtoError", tmp, errl[code], buf, n); \
return buf; \
} \
return (char *)0; \
......
......@@ -45,7 +45,7 @@ static int DGA_DispatchEvent(_THIS)
int posted;
SDL_NAME(XDGAEvent) xevent;
pXNextEvent(DGA_Display, (XEvent *)&xevent);
XNextEvent(DGA_Display, (XEvent *)&xevent);
posted = 0;
xevent.type -= DGA_event_base;
......@@ -96,7 +96,7 @@ printf("KeyPress (X11 keycode = 0x%X)\n", xkey.keycode);
static XComposeStatus state;
char keybuf[32];
if ( pXLookupString(&xkey, keybuf, sizeof(keybuf), NULL, &state) ) {
if ( XLookupString(&xkey, keybuf, sizeof(keybuf), NULL, &state) ) {
/*
* FIXME: XLookupString() may yield more than one
* character, so we need a mechanism to allow for
......
......@@ -73,9 +73,9 @@ static int DGA_Available(void)
and the DGA 2.0+ extension is available, and we can map mem.
*/
if ( SDL_X11_LoadSymbols() ) {
if ( (SDL_strncmp(pXDisplayName(display), ":", 1) == 0) ||
(SDL_strncmp(pXDisplayName(display), "unix:", 5) == 0) ) {
dpy = pXOpenDisplay(display);
if ( (SDL_strncmp(XDisplayName(display), ":", 1) == 0) ||
(SDL_strncmp(XDisplayName(display), "unix:", 5) == 0) ) {
dpy = XOpenDisplay(display);
if ( dpy ) {
int events, errors, major, minor;
......@@ -90,7 +90,7 @@ static int DGA_Available(void)
SDL_NAME(XDGACloseFramebuffer)(dpy, screen);
}
}
pXCloseDisplay(dpy);
XCloseDisplay(dpy);
}
}
SDL_X11_UnloadSymbols();
......@@ -329,7 +329,7 @@ static int DGA_VideoInit(_THIS, SDL_PixelFormat *vformat)
/* Open the X11 display */
display = NULL; /* Get it from DISPLAY environment variable */
DGA_Display = pXOpenDisplay(display);
DGA_Display = XOpenDisplay(display);
if ( DGA_Display == NULL ) {
SDL_SetError("Couldn't open X11 display");
return(-1);
......@@ -339,12 +339,12 @@ static int DGA_VideoInit(_THIS, SDL_PixelFormat *vformat)
if ( ! SDL_NAME(XDGAQueryExtension)(DGA_Display, &event_base, &error_base) ||
! SDL_NAME(XDGAQueryVersion)(DGA_Display, &major_version, &minor_version) ) {
SDL_SetError("DGA extension not available");
pXCloseDisplay(DGA_Display);
XCloseDisplay(DGA_Display);
return(-1);
}
if ( major_version < 2 ) {
SDL_SetError("DGA driver requires DGA 2.0 or newer");
pXCloseDisplay(DGA_Display);
XCloseDisplay(DGA_Display);
return(-1);
}
DGA_event_base = event_base;
......@@ -360,10 +360,10 @@ static int DGA_VideoInit(_THIS, SDL_PixelFormat *vformat)
int i, num_formats;
vformat->BitsPerPixel = DefaultDepth(DGA_Display, DGA_Screen);
pix_format = pXListPixmapFormats(DGA_Display, &num_formats);
pix_format = XListPixmapFormats(DGA_Display, &num_formats);
if ( pix_format == NULL ) {
SDL_SetError("Couldn't determine screen formats");
pXCloseDisplay(DGA_Display);
XCloseDisplay(DGA_Display);
return(-1);
}
for ( i=0; i<num_formats; ++i ) {
......@@ -372,7 +372,7 @@ static int DGA_VideoInit(_THIS, SDL_PixelFormat *vformat)
}
if ( i != num_formats )
vformat->BitsPerPixel = pix_format[i].bits_per_pixel;
pXFree((char *)pix_format);
XFree((char *)pix_format);
}
if ( vformat->BitsPerPixel > 8 ) {
vformat->Rmask = visual->red_mask;
......@@ -383,7 +383,7 @@ static int DGA_VideoInit(_THIS, SDL_PixelFormat *vformat)
/* Open access to the framebuffer */
if ( ! SDL_NAME(XDGAOpenFramebuffer)(DGA_Display, DGA_Screen) ) {
SDL_SetError("Unable to map the video memory");
pXCloseDisplay(DGA_Display);
XCloseDisplay(DGA_Display);
return(-1);
}
......@@ -403,7 +403,7 @@ static int DGA_VideoInit(_THIS, SDL_PixelFormat *vformat)
}
}
UpdateHWInfo(this, modes);
pXFree(modes);
XFree(modes);
/* Create the hardware surface lock mutex */
hw_lock = SDL_CreateMutex();
......@@ -442,7 +442,7 @@ SDL_Surface *DGA_SetVideoMode(_THIS, SDL_Surface *current,
/* Free any previous colormap */
if ( DGA_colormap ) {
pXFreeColormap(DGA_Display, DGA_colormap);
XFreeColormap(DGA_Display, DGA_colormap);
DGA_colormap = 0;
}
......@@ -473,7 +473,7 @@ SDL_Surface *DGA_SetVideoMode(_THIS, SDL_Surface *current,
/* Set the video mode */
mode = SDL_NAME(XDGASetMode)(DGA_Display, DGA_Screen, modes[i].num);
pXFree(modes);
XFree(modes);
if ( mode == NULL ) {
SDL_SetError("Unable to switch to requested mode");
return(NULL);
......@@ -821,7 +821,7 @@ static int DGA_FillHWRect(_THIS, SDL_Surface *dst, SDL_Rect *rect, Uint32 color)
#endif
SDL_NAME(XDGAFillRectangle)(DGA_Display, DGA_Screen, x, y, w, h, color);
if ( !(this->screen->flags & SDL_DOUBLEBUF) ) {
pXFlush(DGA_Display);
XFlush(DGA_Display);
}
DGA_AddBusySurface(dst);
UNLOCK_DISPLAY();
......@@ -863,7 +863,7 @@ static int HWAccelBlit(SDL_Surface *src, SDL_Rect *srcrect,
srcx, srcy, w, h, dstx, dsty);
}
if ( !(this->screen->flags & SDL_DOUBLEBUF) ) {
pXFlush(DGA_Display);
XFlush(DGA_Display);
}
DGA_AddBusySurface(src);
DGA_AddBusySurface(dst);
......@@ -943,7 +943,7 @@ static int DGA_FlipHWSurface(_THIS, SDL_Surface *surface)
DGA_WaitFlip(this);
SDL_NAME(XDGASetViewport)(DGA_Display, DGA_Screen,
0, flip_yoffset[flip_page], XDGAFlipRetrace);
pXFlush(DGA_Display);
XFlush(DGA_Display);
UNLOCK_DISPLAY();
was_flipped = 1;
flip_page = !flip_page;
......@@ -976,8 +976,8 @@ static int DGA_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors)
xcmap[i].flags = (DoRed|DoGreen|DoBlue);
}
LOCK_DISPLAY();
pXStoreColors(DGA_Display, DGA_colormap, xcmap, ncolors);
pXSync(DGA_Display, False);
XStoreColors(DGA_Display, DGA_colormap, xcmap, ncolors);
XSync(DGA_Display, False);
UNLOCK_DISPLAY();
SDL_stack_free(xcmap);
......@@ -1011,8 +1011,8 @@ int DGA_SetGammaRamp(_THIS, Uint16 *ramp)
xcmap[i].flags = (DoRed|DoGreen|DoBlue);
}
LOCK_DISPLAY();
pXStoreColors(DGA_Display, DGA_colormap, xcmap, ncolors);
pXSync(DGA_Display, False);
XStoreColors(DGA_Display, DGA_colormap, xcmap, ncolors);
XSync(DGA_Display, False);
UNLOCK_DISPLAY();
return(0);
}
......@@ -1024,7 +1024,7 @@ void DGA_VideoQuit(_THIS)
if ( DGA_Display ) {
/* Free colormap, if necessary */
if ( DGA_colormap ) {
pXFreeColormap(DGA_Display, DGA_colormap);
XFreeColormap(DGA_Display, DGA_colormap);
DGA_colormap = 0;
}
......@@ -1064,6 +1064,6 @@ void DGA_VideoQuit(_THIS)
DGA_FreeHWSurfaces(this);
/* Close up the display */
pXCloseDisplay(DGA_Display);
XCloseDisplay(DGA_Display);
}
}
......@@ -21,11 +21,10 @@
*/
#include "SDL_config.h"
#if 0
#if 1
#define DEBUG_DYNAMIC_X11 1
#endif
#define __SDL_NO_REDEFINE_X11_HEADER_SYMS 1
#include "SDL_x11dyn.h"
#ifdef DEBUG_DYNAMIC_X11
......@@ -41,51 +40,88 @@ static void *x11_handle = NULL;
static const char *x11ext_library = SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT;
static void *x11ext_handle = NULL;
static void *X11_GetSym(int required, const char *fnname, int *rc)
typedef struct
{
void *fn = NULL;
if (*rc) { /* haven't already failed on a previous lookup? */
fn = SDL_LoadFunction(x11_handle, fnname);
#if DEBUG_DYNAMIC_X11
if (fn != NULL)
printf("X11: Found '%s' in libX11 (%p)\n", fnname, fn);
#endif
void *lib;
const char *libname;
} x11libitem;
if (fn == NULL) { /* not found? Check libX11ext ... */
fn = SDL_LoadFunction(x11ext_handle, fnname);
#if DEBUG_DYNAMIC_X11
static void *X11_GetSym(const char *fnname, int *rc)
{
int i;
void *fn = NULL;
const x11libitem libs[] =
{
{ x11_handle, "libX11" },
{ x11ext_handle, "libX11ext" },
};
for (i = 0; i < (sizeof (libs) / sizeof (libs[0])); i++)
{
if (libs[i].lib != NULL)
{
fn = SDL_LoadFunction(libs[i].lib, fnname);
if (fn != NULL)
printf("X11: Found '%s' in libXext (%p)\n", fnname, fn);
else
printf("X11: Symbol '%s' NOT FOUND!%s\n", fnname,
required ? "" : " (...but not required!)");
#endif
break;
}
*rc = ((fn != NULL) || (!required));
}
#if DEBUG_DYNAMIC_X11
if (fn != NULL)
printf("X11: Found '%s' in %s (%p)\n", fnname, libs[i].libname, fn);
else
printf("X11: Symbol '%s' NOT FOUND!\n", fnname);
#endif
if (fn == NULL)
*rc = 0; /* kill this module. */
return fn;
}
/* Define all the function pointers and wrappers... */
#define SDL_X11_MODULE(modname)
#define SDL_X11_SYM(rc,fn,params,args,ret) \
static rc (*p##fn) params = NULL; \
rc fn params { ret p##fn args ; }
#include "SDL_x11sym.h"
#undef SDL_X11_MODULE
#undef SDL_X11_SYM
#endif /* SDL_VIDEO_DRIVER_X11_DYNAMIC */
/* Define all the function pointers... */
#define SDL_X11_SYM(req,ret,fn,params) ret (*p##fn) params = NULL;
/* Annoying varargs entry point... */
#ifdef X_HAVE_UTF8_STRING
XIC (*pXCreateIC)(XIM,...) = NULL;
#endif
/* These SDL_X11_HAVE_* flags are here whether you have dynamic X11 or not. */
#define SDL_X11_MODULE(modname) int SDL_X11_HAVE_##modname = 1;
#define SDL_X11_SYM(rc,fn,params,args,ret)
#include "SDL_x11sym.h"
#undef SDL_X11_MODULE
#undef SDL_X11_SYM
static int x11_load_refcount = 0;
void SDL_X11_UnloadSymbols(void)
{
#ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC
/* Don't actually unload if more than one module is using the libs... */
if (x11_load_refcount > 0) {
if (--x11_load_refcount == 0) {
/* set all the function pointers to NULL. */
#define SDL_X11_SYM(req,ret,fn,params) p##fn = NULL;
#define SDL_X11_MODULE(modname) SDL_X11_HAVE_##modname = 1;
#define SDL_X11_SYM(rc,fn,params,args,ret) p##fn = NULL;
#include "SDL_x11sym.h"
#undef SDL_X11_MODULE
#undef SDL_X11_SYM
#ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC
#ifdef X_HAVE_UTF8_STRING
pXCreateIC = NULL;
#endif
if (x11_handle != NULL) {
SDL_UnloadObject(x11_handle);
x11_handle = NULL;
......@@ -94,35 +130,41 @@ void SDL_X11_UnloadSymbols(void)
SDL_UnloadObject(x11ext_handle);
x11ext_handle = NULL;
}
#endif
}
}
#endif
}
/* returns non-zero if all needed symbols were loaded. */
int SDL_X11_LoadSymbols(void)
{
int rc = 1;
int rc = 1; /* always succeed if not using Dynamic X11 stuff. */
/* deal with multiple modules (dga, x11, etc) needing these symbols... */
#ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC
/* deal with multiple modules (dga, x11, etc) needing these symbols... */
if (x11_load_refcount++ == 0) {
#ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC
x11_handle = SDL_LoadObject(x11_library);
x11ext_handle = SDL_LoadObject(x11ext_library);
rc = ((x11_handle != NULL) && (x11ext_handle != NULL));
#define SDL_X11_SYM(req,r,fn,arg) p##fn = X11_GetSym(req,#fn, &rc);
#include "SDL_x11sym.h"
#undef SDL_X11_SYM
if (!rc)
SDL_X11_UnloadSymbols(); /* in case one of these loaded... */
#else
#define SDL_X11_SYM(req,r,fn,arg) p##fn = fn;
#include "SDL_x11sym.h"
#undef SDL_X11_SYM
int *thismod = NULL;
x11_handle = SDL_LoadObject(x11_library);
x11ext_handle = SDL_LoadObject(x11ext_library);
#define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname;
#define SDL_X11_SYM(a,fn,x,y,z) p##fn = X11_GetSym(#fn,thismod);
#include "SDL_x11sym.h"
#undef SDL_X11_MODULE
#undef SDL_X11_SYM
#ifdef X_HAVE_UTF8_STRING
pXCreateIC = X11_GetSym("XCreateIC",&SDL_X11_HAVE_UTF8);
#endif
if (!SDL_X11_HAVE_BASEXLIB) { /* some required symbol didn't load. */
SDL_X11_UnloadSymbols(); /* in case something got loaded... */
}
}
#else
#ifdef X_HAVE_UTF8_STRING
pXCreateIC = XCreateIC;
#endif
#endif
return rc;
}
......
......@@ -39,59 +39,40 @@
#endif
/*
* Never reference Xlib directly...we might load it dynamically at runtime.
* Even if we don't, for readability, we still use the function pointers
* (although the symbol resolution will be done by the loader in that case).
* When using the "dynamic X11" functionality, we duplicate all the Xlib
* symbols that would be referenced by SDL inside of SDL itself.
* These duplicated symbols just serve as passthroughs to the functions
* in Xlib, that was dynamically loaded.
*
* We define SDL_X11_SYM and include SDL_x11sym.h to accomplish various
* goals, without having to duplicate those function signatures.
* This allows us to use Xlib as-is when linking against it directly, but
* also handles all the strange cases where there was code in the Xlib
* headers that may or may not exist or vary on a given platform.
*/
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __osf__
extern int _XData32(Display *,register long *,unsigned);
extern void _XRead32(Display *,register long *,long);
extern void _SmtBufferOverflow(Display *,register smtDisplayPtr);
extern void _SmtIpError(Display *,register smtDisplayPtr, int);
extern int ipAllocateData(ChannelPtr, IPCard, IPDataPtr *);
extern int ipUnallocateAndSendData(ChannelPtr, IPCard);
#endif
/* evil function signatures... */
typedef Bool (*SDL_X11_XESetWireToEventRetType)(Display*,XEvent*,xEvent*);
typedef int (*SDL_X11_XSynchronizeRetType)(Display*);
typedef Status (*SDL_X11_XESetEventToWireRetType)(Display*,XEvent*,xEvent*);
typedef int (*SDL_X11_XSetExtensionErrorHandlerType)(Display *,char *,char *);
#define SDL_X11_SYM(req,ret,fn,params) extern ret (*p##fn) params;
#include "SDL_x11sym.h"
#undef SDL_X11_SYM
int SDL_X11_LoadSymbols(void);
void SDL_X11_UnloadSymbols(void);
/* Macro in the xlib headers, not an actual symbol... */
#define pXDestroyImage XDestroyImage
/* Workaround code in headers... */
#if !__SDL_NO_REDEFINE_X11_HEADER_SYMS
#define _XFlush p_XFlush
#define _XFlushGCCache p_XFlushGCCache
#define _XReply p_XReply
#define _XSend p_XSend
#define XFree pXFree
#define _XData32 p_XData32
#if defined(__osf__)
#define _SmtBufferOverflow p_SmtBufferOverflow
#define _SmtIpError p_SmtIpError
#define ipAllocateData pipAllocateData
#define ipUnallocateAndSendData pipUnallocateAndSendData
/* That's really annoying...make this a function pointer no matter what. */
#ifdef X_HAVE_UTF8_STRING
extern XIC (*pXCreateIC)(XIM,...);
#endif
#endif /* !__SDL_NO_REDEFINE_X11_HEADER_SYMS */
/* These SDL_X11_HAVE_* flags are here whether you have dynamic X11 or not. */
#define SDL_X11_MODULE(modname) extern int SDL_X11_HAVE_##modname;
#define SDL_X11_SYM(rc,fn,params,args,ret)
#include "SDL_x11sym.h"
#undef SDL_X11_MODULE
#undef SDL_X11_SYM
int SDL_X11_LoadSymbols(void);
void SDL_X11_UnloadSymbols(void);
#ifdef __cplusplus
}
......
......@@ -187,13 +187,13 @@ static int X11_KeyRepeat(Display *display, XEvent *event)
int repeated;
repeated = 0;
if ( pXPending(display) ) {
pXPeekEvent(display, &peekevent);
if ( XPending(display) ) {
XPeekEvent(display, &peekevent);
if ( (peekevent.type == KeyPress) &&
(peekevent.xkey.keycode == event->xkey.keycode) &&
((peekevent.xkey.time-event->xkey.time) < 2) ) {
repeated = 1;
pXNextEvent(display, &peekevent);
XNextEvent(display, &peekevent);
}
}
return(repeated);
......@@ -228,7 +228,7 @@ static __inline__ int X11_WarpedMotion(_THIS, XEvent *xevent)
(xevent->xmotion.y < MOUSE_FUDGE_FACTOR) ||
(xevent->xmotion.y > (h-MOUSE_FUDGE_FACTOR)) ) {
/* Get the events that have accumulated */
while ( pXCheckTypedEvent(SDL_Display, MotionNotify, xevent) ) {
while ( XCheckTypedEvent(SDL_Display, MotionNotify, xevent) ) {
deltax = xevent->xmotion.x - mouse_last.x;
deltay = xevent->xmotion.y - mouse_last.y;
#ifdef DEBUG_MOTION
......@@ -240,10 +240,10 @@ static __inline__ int X11_WarpedMotion(_THIS, XEvent *xevent)
}
mouse_last.x = w/2;
mouse_last.y = h/2;
pXWarpPointer(SDL_Display, None, SDL_Window, 0, 0, 0, 0,
XWarpPointer(SDL_Display, None, SDL_Window, 0, 0, 0, 0,
mouse_last.x, mouse_last.y);
for ( i=0; i<10; ++i ) {
pXMaskEvent(SDL_Display, PointerMotionMask, xevent);
XMaskEvent(SDL_Display, PointerMotionMask, xevent);
if ( (xevent->xmotion.x >
(mouse_last.x-MOUSE_FUDGE_FACTOR)) &&
(xevent->xmotion.x <
......@@ -273,7 +273,7 @@ static int X11_DispatchEvent(_THIS)
XEvent xevent;
SDL_memset(&xevent, '\0', sizeof (XEvent)); /* valgrind fix. --ryan. */
pXNextEvent(SDL_Display, &xevent);
XNextEvent(SDL_Display, &xevent);
posted = 0;
switch (xevent.type) {
......@@ -332,7 +332,7 @@ printf("FocusIn!\n");
#ifdef X_HAVE_UTF8_STRING
if ( SDL_IC != NULL ) {
pXSetICFocus(SDL_IC);
XSetICFocus(SDL_IC);
}
#endif
/* Queue entry into fullscreen mode */
......@@ -350,7 +350,7 @@ printf("FocusOut!\n");
#ifdef X_HAVE_UTF8_STRING
if ( SDL_IC != NULL ) {
pXUnsetICFocus(SDL_IC);
XUnsetICFocus(SDL_IC);
}
#endif
/* Queue leaving fullscreen mode */
......@@ -433,7 +433,7 @@ printf("KeyPress (X11 keycode = 0x%X)\n", xevent.xkey.keycode);
break;
}
if ( pXFilterEvent(&xevent, None) ) {
if ( XFilterEvent(&xevent, None) ) {
if ( xevent.xkey.keycode ) {
posted = SDL_PrivateKeyboard(SDL_PRESSED, &keysym);
} else {
......@@ -450,7 +450,7 @@ printf("KeyPress (X11 keycode = 0x%X)\n", xevent.xkey.keycode);
static Status state;
/* A UTF-8 character can be at most 6 bytes */
char keybuf[6];
if ( pXutf8LookupString(SDL_IC, &xevent.xkey,
if ( Xutf8LookupString(SDL_IC, &xevent.xkey,
keybuf, sizeof(keybuf),
NULL, &state) ) {
keysym.unicode = Utf8ToUcs4((Uint8*)keybuf);
......@@ -462,7 +462,7 @@ printf("KeyPress (X11 keycode = 0x%X)\n", xevent.xkey.keycode);
static XComposeStatus state;
char keybuf[32];
if ( pXLookupString(&xevent.xkey,
if ( XLookupString(&xevent.xkey,
keybuf, sizeof(keybuf),
NULL, &state) ) {
/*
......@@ -622,8 +622,8 @@ printf("Unhandled event %d\n", xevent.type);
int X11_Pending(Display *display)
{
/* Flush the display connection and look to see if events are queued */
pXFlush(display);
if ( pXEventsQueued(display, QueuedAlready) ) {
XFlush(display);
if ( XEventsQueued(display, QueuedAlready) ) {
return(1);
}
......@@ -637,7 +637,7 @@ int X11_Pending(Display *display)
FD_ZERO(&fdset);
FD_SET(x11_fd, &fdset);
if ( select(x11_fd+1, &fdset, NULL, NULL, &zero_time) == 1 ) {
return(pXPending(display));
return(XPending(display));
}
}
......@@ -827,7 +827,7 @@ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc)
KeySym xsym;
SDLKey key;
xsym = pXKeycodeToKeysym(display, kc, 0);
xsym = XKeycodeToKeysym(display, kc, 0);
#ifdef DEBUG_KEYS
fprintf(stderr, "Translating key code %d -> 0x%.4x\n", kc, xsym);
#endif
......@@ -914,12 +914,12 @@ static void get_modifier_masks(Display *display)
if(got_masks)
return;
xmods = pXGetModifierMapping(display);
xmods = XGetModifierMapping(display);
n = xmods->max_keypermod;
for(i = 3; i < 8; i++) {
for(j = 0; j < n; j++) {
KeyCode kc = xmods->modifiermap[i * n + j];
KeySym ks = pXKeycodeToKeysym(display, kc, 0);
KeySym ks = XKeycodeToKeysym(display, kc, 0);
unsigned mask = 1 << i;
switch(ks) {
case XK_Num_Lock:
......@@ -937,7 +937,7 @@ static void get_modifier_masks(Display *display)
}
}
}
pXFreeModifiermap(xmods);
XFreeModifiermap(xmods);
got_masks = 1;
}
......@@ -979,7 +979,7 @@ Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers)
}
}
xkey.keycode = pXKeysymToKeycode(xkey.display, xsym);
xkey.keycode = XKeysymToKeycode(xkey.display, xsym);
get_modifier_masks(SDL_Display);
if(modifiers & KMOD_SHIFT)
......@@ -1002,7 +1002,7 @@ Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers)
xkey.state |= num_mask;
unicode = 0;
if ( pXLookupString(&xkey, keybuf, sizeof(keybuf), NULL, NULL) )
if ( XLookupString(&xkey, keybuf, sizeof(keybuf), NULL, NULL) )
unicode = (unsigned char)keybuf[0];
return(unicode);
}
......@@ -1025,14 +1025,14 @@ void X11_SetKeyboardState(Display *display, const char *key_vec)
/* The first time the window is mapped, we initialize key state */
if ( ! key_vec ) {
pXQueryKeymap(display, keys_return);
XQueryKeymap(display, keys_return);
key_vec = keys_return;
}
/* Get the keyboard modifier state */
modstate = 0;
get_modifier_masks(display);
if ( pXQueryPointer(display, DefaultRootWindow(display),
if ( XQueryPointer(display, DefaultRootWindow(display),
&junk_window, &junk_window, &x, &y, &x, &y, &mask) ) {
if ( mask & LockMask ) {
modstate |= KMOD_CAPS;
......
......@@ -64,7 +64,7 @@ static int X11_SetGammaNoLock(_THIS, float red, float green, float blue)
}
if ( SDL_GetAppState() & SDL_APPACTIVE ) {
succeeded = SDL_NAME(XF86VidModeSetGamma)(SDL_Display, SDL_Screen, &gamma);
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
} else {
gamma_saved[0] = gamma.red;
gamma_saved[1] = gamma.green;
......
......@@ -64,10 +64,10 @@ XVisualInfo *X11_GL_GetVisual(_THIS)
XVisualInfo vi_in;
int out_count;
pXGetWindowAttributes(SDL_Display, SDL_Window, &a);
XGetWindowAttributes(SDL_Display, SDL_Window, &a);
vi_in.screen = SDL_Screen;
vi_in.visualid = pXVisualIDFromVisual(a.visual);
glx_visualinfo = pXGetVisualInfo(SDL_Display,
vi_in.visualid = XVisualIDFromVisual(a.visual);
glx_visualinfo = XGetVisualInfo(SDL_Display,
VisualScreenMask|VisualIDMask, &vi_in, &out_count);
return glx_visualinfo;
}
......@@ -186,7 +186,7 @@ int X11_GL_CreateWindow(_THIS, int w, int h)
attributes.colormap = SDL_XColorMap;
mask = CWBackPixel | CWBorderPixel | CWColormap;
SDL_Window = pXCreateWindow(SDL_Display, WMwindow,
SDL_Window = XCreateWindow(SDL_Display, WMwindow,
0, 0, w, h, 0, glx_visualinfo->depth,
InputOutput, glx_visualinfo->visual,
mask, &attributes);
......@@ -207,10 +207,10 @@ int X11_GL_CreateContext(_THIS)
int retval;
#if SDL_VIDEO_OPENGL_GLX
/* We do this to create a clean separation between X and GLX errors. */
pXSync( SDL_Display, False );
XSync( SDL_Display, False );
glx_context = this->gl_data->glXCreateContext(GFX_Display,
glx_visualinfo, NULL, True);
pXSync( GFX_Display, False );
XSync( GFX_Display, False );
if (glx_context == NULL) {
SDL_SetError("Could not create GL context");
......@@ -258,7 +258,7 @@ int X11_GL_MakeCurrent(_THIS)
SDL_SetError("Unable to make GL context current");
retval = -1;
}
pXSync( GFX_Display, False );
XSync( GFX_Display, False );
/* More Voodoo X server workarounds... Grr... */
SDL_Lock_EventThread();
......
......@@ -44,6 +44,10 @@ static int shm_errhandler(Display *d, XErrorEvent *e)
static void try_mitshm(_THIS, SDL_Surface *screen)
{
/* Dynamic X11 may not have SHM entry points on this box. */
if ((use_mitshm) && (!SDL_X11_HAVE_SHM))
use_mitshm = 0;
if(!use_mitshm)
return;
shminfo.shmid = shmget(IPC_PRIVATE, screen->h*screen->pitch,
......@@ -53,10 +57,10 @@ static void try_mitshm(_THIS, SDL_Surface *screen)
shminfo.readOnly = False;
if ( shminfo.shmaddr != (char *)-1 ) {
shm_error = False;
X_handler = pXSetErrorHandler(shm_errhandler);
pXShmAttach(SDL_Display, &shminfo);
pXSync(SDL_Display, True);
pXSetErrorHandler(X_handler);
X_handler = XSetErrorHandler(shm_errhandler);
XShmAttach(SDL_Display, &shminfo);
XSync(SDL_Display, True);
XSetErrorHandler(X_handler);
if ( shm_error )
shmdt(shminfo.shmaddr);
} else {
......@@ -82,13 +86,13 @@ int X11_SetupImage(_THIS, SDL_Surface *screen)
#ifndef NO_SHARED_MEMORY
try_mitshm(this, screen);
if(use_mitshm) {
SDL_Ximage = pXShmCreateImage(SDL_Display, SDL_Visual,
SDL_Ximage = XShmCreateImage(SDL_Display, SDL_Visual,
this->hidden->depth, ZPixmap,
shminfo.shmaddr, &shminfo,
screen->w, screen->h);
if(!SDL_Ximage) {
pXShmDetach(SDL_Display, &shminfo);
pXSync(SDL_Display, False);
XShmDetach(SDL_Display, &shminfo);
XSync(SDL_Display, False);
shmdt(shminfo.shmaddr);
screen->pixels = NULL;
goto error;
......@@ -105,7 +109,7 @@ int X11_SetupImage(_THIS, SDL_Surface *screen)
return -1;
}
bpp = screen->format->BytesPerPixel;
SDL_Ximage = pXCreateImage(SDL_Display, SDL_Visual,
SDL_Ximage = XCreateImage(SDL_Display, SDL_Visual,
this->hidden->depth, ZPixmap, 0,
(char *)screen->pixels,
screen->w, screen->h,
......@@ -128,11 +132,11 @@ error:
void X11_DestroyImage(_THIS, SDL_Surface *screen)
{
if ( SDL_Ximage ) {
pXDestroyImage(SDL_Ximage);
XDestroyImage(SDL_Ximage);
#ifndef NO_SHARED_MEMORY
if ( use_mitshm ) {
pXShmDetach(SDL_Display, &shminfo);
pXSync(SDL_Display, False);
XShmDetach(SDL_Display, &shminfo);
XSync(SDL_Display, False);
shmdt(shminfo.shmaddr);
}
#endif /* ! NO_SHARED_MEMORY */
......@@ -213,7 +217,7 @@ void X11_FreeHWSurface(_THIS, SDL_Surface *surface)
int X11_LockHWSurface(_THIS, SDL_Surface *surface)
{
if ( (surface == SDL_VideoSurface) && blit_queued ) {
pXSync(GFX_Display, False);
XSync(GFX_Display, False);
blit_queued = 0;
}
return(0);
......@@ -236,15 +240,15 @@ static void X11_NormalUpdate(_THIS, int numrects, SDL_Rect *rects)
if ( rects[i].w == 0 || rects[i].h == 0 ) { /* Clipped? */
continue;
}
pXPutImage(GFX_Display, SDL_Window, SDL_GC, SDL_Ximage,
XPutImage(GFX_Display, SDL_Window, SDL_GC, SDL_Ximage,
rects[i].x, rects[i].y,
rects[i].x, rects[i].y, rects[i].w, rects[i].h);
}
if ( SDL_VideoSurface->flags & SDL_ASYNCBLIT ) {
pXFlush(GFX_Display);
XFlush(GFX_Display);
blit_queued = 1;
} else {
pXSync(GFX_Display, False);
XSync(GFX_Display, False);
}
}
......@@ -257,16 +261,16 @@ static void X11_MITSHMUpdate(_THIS, int numrects, SDL_Rect *rects)
if ( rects[i].w == 0 || rects[i].h == 0 ) { /* Clipped? */
continue;
}
pXShmPutImage(GFX_Display, SDL_Window, SDL_GC, SDL_Ximage,
XShmPutImage(GFX_Display, SDL_Window, SDL_GC, SDL_Ximage,
rects[i].x, rects[i].y,
rects[i].x, rects[i].y, rects[i].w, rects[i].h,
False);
}
if ( SDL_VideoSurface->flags & SDL_ASYNCBLIT ) {
pXFlush(GFX_Display);
XFlush(GFX_Display);
blit_queued = 1;
} else {
pXSync(GFX_Display, False);
XSync(GFX_Display, False);
}
#endif /* ! NO_SHARED_MEMORY */
}
......@@ -300,14 +304,15 @@ void X11_RefreshDisplay(_THIS)
}
#ifndef NO_SHARED_MEMORY
if ( this->UpdateRects == X11_MITSHMUpdate ) {
pXShmPutImage(SDL_Display, SDL_Window, SDL_GC, SDL_Ximage,
XShmPutImage(SDL_Display, SDL_Window, SDL_GC, SDL_Ximage,
0, 0, 0, 0, this->screen->w, this->screen->h,
False);
} else
#endif /* ! NO_SHARED_MEMORY */
{
pXPutImage(SDL_Display, SDL_Window, SDL_GC, SDL_Ximage,
XPutImage(SDL_Display, SDL_Window, SDL_GC, SDL_Ximage,
0, 0, 0, 0, this->screen->w, this->screen->h);
}
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
}
......@@ -135,7 +135,7 @@ static void set_best_resolution(_THIS, int width, int height)
(modes[i]->vdisplay != mode.vdisplay) ) {
SDL_NAME(XF86VidModeSwitchToMode)(SDL_Display, SDL_Screen, modes[i]);
}
pXFree(modes);
XFree(modes);
}
}
#endif /* SDL_VIDEO_DRIVER_X11_VIDMODE */
......@@ -174,7 +174,7 @@ static void set_best_resolution(_THIS, int width, int height)
SDL_modelist[i]->w,
SDL_modelist[i]->h,
0);
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
}
}
}
......@@ -224,7 +224,7 @@ void X11_WaitMapped(_THIS, Window win)
{
XEvent event;
do {
pXMaskEvent(SDL_Display, StructureNotifyMask, &event);
XMaskEvent(SDL_Display, StructureNotifyMask, &event);
} while ( (event.type != MapNotify) || (event.xmap.event != win) );
}
......@@ -233,19 +233,19 @@ void X11_WaitUnmapped(_THIS, Window win)
{
XEvent event;
do {
pXMaskEvent(SDL_Display, StructureNotifyMask, &event);
XMaskEvent(SDL_Display, StructureNotifyMask, &event);
} while ( (event.type != UnmapNotify) || (event.xunmap.event != win) );
}
static void move_cursor_to(_THIS, int x, int y)
{
pXWarpPointer(SDL_Display, None, SDL_Root, 0, 0, 0, 0, x, y);
XWarpPointer(SDL_Display, None, SDL_Root, 0, 0, 0, 0, x, y);
}
static int add_visual(_THIS, int depth, int class)
{
XVisualInfo vi;
if(pXMatchVisualInfo(SDL_Display, SDL_Screen, depth, class, &vi)) {
if(XMatchVisualInfo(SDL_Display, SDL_Screen, depth, class, &vi)) {
int n = this->hidden->nvisuals;
this->hidden->visuals[n].depth = vi.depth;
this->hidden->visuals[n].visual = vi.visual;
......@@ -261,13 +261,13 @@ static int add_visual_byid(_THIS, const char *visual_id)
if ( visual_id ) {
SDL_memset(&template, 0, (sizeof template));
template.visualid = SDL_strtol(visual_id, NULL, 0);
vi = pXGetVisualInfo(SDL_Display, VisualIDMask, &template, &nvis);
vi = XGetVisualInfo(SDL_Display, VisualIDMask, &template, &nvis);
if ( vi ) {
int n = this->hidden->nvisuals;
this->hidden->visuals[n].depth = vi->depth;
this->hidden->visuals[n].visual = vi->visual;
this->hidden->nvisuals++;
pXFree(vi);
XFree(vi);
}
}
return(this->hidden->nvisuals);
......@@ -403,7 +403,7 @@ int X11_GetVideoModes(_THIS)
}
SDL_modelist[n] = NULL;
}
pXFree(modes);
XFree(modes);
use_vidmode = vm_major * 100 + vm_minor;
save_mode(this);
......@@ -477,7 +477,7 @@ int X11_GetVideoModes(_THIS)
use_xme = 0;
}
if ( modelist ) {
pXFree(modelist);
XFree(modelist);
}
#endif /* SDL_VIDEO_DRIVER_X11_XME */
......@@ -512,7 +512,7 @@ int X11_GetVideoModes(_THIS)
}
/* look up the pixel quantum for each depth */
pf = pXListPixmapFormats(SDL_Display, &np);
pf = XListPixmapFormats(SDL_Display, &np);
for(i = 0; i < this->hidden->nvisuals; i++) {
int d = this->hidden->visuals[i].depth;
for(j = 0; j < np; j++)
......@@ -521,7 +521,7 @@ int X11_GetVideoModes(_THIS)
this->hidden->visuals[i].bpp = j < np ? pf[j].bits_per_pixel : d;
}
pXFree(pf);
XFree(pf);
}
if ( SDL_modelist == NULL ) {
......@@ -595,7 +595,7 @@ int X11_GetVideoModes(_THIS)
xinerama_y = xinerama[i].y_org;
}
}
pXFree(xinerama);
XFree(xinerama);
}
#endif /* SDL_VIDEO_DRIVER_X11_XINERAMA */
......@@ -661,15 +661,15 @@ int X11_ResizeFullScreen(_THIS)
if ( window_h > real_h ) {
real_h = MAX(real_h, screen_h);
}
pXMoveResizeWindow(SDL_Display, FSwindow, x, y, real_w, real_h);
XMoveResizeWindow(SDL_Display, FSwindow, x, y, real_w, real_h);
move_cursor_to(this, real_w/2, real_h/2);
/* Center and reparent the drawing window */
x = (real_w - window_w)/2;
y = (real_h - window_h)/2;
pXReparentWindow(SDL_Display, SDL_Window, FSwindow, x, y);
XReparentWindow(SDL_Display, SDL_Window, FSwindow, x, y);
/* FIXME: move the mouse to the old relative location */
pXSync(SDL_Display, True); /* Flush spurious mode change events */
XSync(SDL_Display, True); /* Flush spurious mode change events */
}
return(1);
}
......@@ -679,7 +679,7 @@ void X11_QueueEnterFullScreen(_THIS)
switch_waiting = 0x01 | SDL_FULLSCREEN;
switch_time = SDL_GetTicks() + 1500;
#if 0 /* This causes a BadMatch error if the window is iconified (not needed) */
pXSetInputFocus(SDL_Display, WMwindow, RevertToNone, CurrentTime);
XSetInputFocus(SDL_Display, WMwindow, RevertToNone, CurrentTime);
#endif
}
......@@ -712,14 +712,14 @@ int X11_EnterFullScreen(_THIS)
if ( window_h > real_h ) {
real_h = MAX(real_h, screen_h);
}
pXMoveResizeWindow(SDL_Display, FSwindow,
XMoveResizeWindow(SDL_Display, FSwindow,
xinerama_x, xinerama_y, real_w, real_h);
pXMapRaised(SDL_Display, FSwindow);
XMapRaised(SDL_Display, FSwindow);
X11_WaitMapped(this, FSwindow);
#if 0 /* This seems to break WindowMaker in focus-follows-mouse mode */
/* Make sure we got to the top of the window stack */
if ( pXQueryTree(SDL_Display, SDL_Root, &tmpwin, &tmpwin,
if ( XQueryTree(SDL_Display, SDL_Root, &tmpwin, &tmpwin,
&windows, &nwindows) && windows ) {
/* If not, try to put us there - if fail... oh well */
if ( windows[nwindows-1] != FSwindow ) {
......@@ -732,13 +732,13 @@ int X11_EnterFullScreen(_THIS)
}
}
windows[nwindows-1] = FSwindow;
pXRestackWindows(SDL_Display, windows, nwindows);
pXSync(SDL_Display, False);
XRestackWindows(SDL_Display, windows, nwindows);
XSync(SDL_Display, False);
}
pXFree(windows);
XFree(windows);
}
#else
pXRaiseWindow(SDL_Display, FSwindow);
XRaiseWindow(SDL_Display, FSwindow);
#endif
#if SDL_VIDEO_DRIVER_X11_VIDMODE
......@@ -756,7 +756,7 @@ int X11_EnterFullScreen(_THIS)
}
/* Set the colormap */
if ( SDL_XColorMap ) {
pXInstallColormap(SDL_Display, SDL_XColorMap);
XInstallColormap(SDL_Display, SDL_XColorMap);
}
if ( okay )
X11_GrabInputNoLock(this, this->input_grab | SDL_GRAB_FULLSCREEN);
......@@ -777,7 +777,7 @@ int X11_EnterFullScreen(_THIS)
int X11_LeaveFullScreen(_THIS)
{
if ( currently_fullscreen ) {
pXReparentWindow(SDL_Display, SDL_Window, WMwindow, 0, 0);
XReparentWindow(SDL_Display, SDL_Window, WMwindow, 0, 0);
#if SDL_VIDEO_DRIVER_X11_VIDMODE
if ( use_vidmode ) {
restore_mode(this);
......@@ -799,14 +799,14 @@ int X11_LeaveFullScreen(_THIS)
saved_res.width,
saved_res.height,
0);
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
}
}
#endif
pXUnmapWindow(SDL_Display, FSwindow);
XUnmapWindow(SDL_Display, FSwindow);
X11_WaitUnmapped(this, FSwindow);
pXSync(SDL_Display, True); /* Flush spurious mode change events */
XSync(SDL_Display, True); /* Flush spurious mode change events */
currently_fullscreen = 0;
}
/* If we get popped out of fullscreen mode for some reason, input_grab
......
......@@ -41,8 +41,8 @@ void X11_FreeWMCursor(_THIS, WMcursor *cursor)
{
if ( SDL_Display != NULL ) {
SDL_Lock_EventThread();
pXFreeCursor(SDL_Display, cursor->x_cursor);
pXSync(SDL_Display, False);
XFreeCursor(SDL_Display, cursor->x_cursor);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
}
SDL_free(cursor);
......@@ -96,48 +96,48 @@ WMcursor *X11_CreateWMCursor(_THIS,
SDL_Lock_EventThread();
/* Create the data image */
data_image = pXCreateImage(SDL_Display,
data_image = XCreateImage(SDL_Display,
DefaultVisual(SDL_Display, SDL_Screen),
1, XYBitmap, 0, x_data, w, h, 8, w/8);
data_image->byte_order = MSBFirst;
data_image->bitmap_bit_order = MSBFirst;
data_pixmap = pXCreatePixmap(SDL_Display, SDL_Root, w, h, 1);
data_pixmap = XCreatePixmap(SDL_Display, SDL_Root, w, h, 1);
/* Create the data mask */
mask_image = pXCreateImage(SDL_Display,
mask_image = XCreateImage(SDL_Display,
DefaultVisual(SDL_Display, SDL_Screen),
1, XYBitmap, 0, x_mask, w, h, 8, w/8);
mask_image->byte_order = MSBFirst;
mask_image->bitmap_bit_order = MSBFirst;
mask_pixmap = pXCreatePixmap(SDL_Display, SDL_Root, w, h, 1);
mask_pixmap = XCreatePixmap(SDL_Display, SDL_Root, w, h, 1);
/* Create the graphics context */
GCvalues.function = GXcopy;
GCvalues.foreground = ~0;
GCvalues.background = 0;
GCvalues.plane_mask = AllPlanes;
GCcursor = pXCreateGC(SDL_Display, data_pixmap,
GCcursor = XCreateGC(SDL_Display, data_pixmap,
(GCFunction|GCForeground|GCBackground|GCPlaneMask),
&GCvalues);
/* Blit the images to the pixmaps */
pXPutImage(SDL_Display, data_pixmap, GCcursor, data_image,
XPutImage(SDL_Display, data_pixmap, GCcursor, data_image,
0, 0, 0, 0, w, h);
pXPutImage(SDL_Display, mask_pixmap, GCcursor, mask_image,
XPutImage(SDL_Display, mask_pixmap, GCcursor, mask_image,
0, 0, 0, 0, w, h);
pXFreeGC(SDL_Display, GCcursor);
XFreeGC(SDL_Display, GCcursor);
/* These free the x_data and x_mask memory pointers */
pXDestroyImage(data_image);
pXDestroyImage(mask_image);
XDestroyImage(data_image);
XDestroyImage(mask_image);
/* Create the cursor */
cursor->x_cursor = pXCreatePixmapCursor(SDL_Display, data_pixmap,
cursor->x_cursor = XCreatePixmapCursor(SDL_Display, data_pixmap,
mask_pixmap, &black, &white, hot_x, hot_y);
pXFreePixmap(SDL_Display, data_pixmap);
pXFreePixmap(SDL_Display, mask_pixmap);
XFreePixmap(SDL_Display, data_pixmap);
XFreePixmap(SDL_Display, mask_pixmap);
/* Release the event thread */
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
return(cursor);
......@@ -155,13 +155,13 @@ int X11_ShowWMCursor(_THIS, WMcursor *cursor)
SDL_Lock_EventThread();
if ( cursor == NULL ) {
if ( SDL_BlankCursor != NULL ) {
pXDefineCursor(SDL_Display, SDL_Window,
XDefineCursor(SDL_Display, SDL_Window,
SDL_BlankCursor->x_cursor);
}
} else {
pXDefineCursor(SDL_Display, SDL_Window, cursor->x_cursor);
XDefineCursor(SDL_Display, SDL_Window, cursor->x_cursor);
}
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
}
return(1);
......@@ -178,8 +178,8 @@ void X11_WarpWMCursor(_THIS, Uint16 x, Uint16 y)
SDL_PrivateMouseMotion(0, 0, x, y);
} else {
SDL_Lock_EventThread();
pXWarpPointer(SDL_Display, None, SDL_Window, 0, 0, 0, 0, x, y);
pXSync(SDL_Display, False);
XWarpPointer(SDL_Display, None, SDL_Window, 0, 0, 0, 0, x, y);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
}
}
......@@ -217,7 +217,7 @@ static void SetMouseAccel(_THIS, const char *accel_param)
}
}
if ( mouse_param_buf ) {
pXChangePointerControl(SDL_Display, True, True,
XChangePointerControl(SDL_Display, True, True,
accel_value[0], accel_value[1], accel_value[2]);
SDL_free(mouse_param_buf);
}
......@@ -250,7 +250,7 @@ void X11_CheckMouseModeNoLock(_THIS)
SDL_GetMouseState(&mouse_last.x, &mouse_last.y);
/* Use as raw mouse mickeys as possible */
pXGetPointerControl(SDL_Display,
XGetPointerControl(SDL_Display,
&mouse_accel.numerator,
&mouse_accel.denominator,
&mouse_accel.threshold);
......@@ -266,7 +266,7 @@ void X11_CheckMouseModeNoLock(_THIS)
if ( using_dga & DGA_MOUSE ) {
X11_DisableDGAMouse(this);
} else {
pXChangePointerControl(SDL_Display, True, True,
XChangePointerControl(SDL_Display, True, True,
mouse_accel.numerator,
mouse_accel.denominator,
mouse_accel.threshold);
......
......@@ -20,154 +20,159 @@
slouken@libsdl.org
*/
SDL_X11_SYM(1,XClassHint*,XAllocClassHint,(void))
SDL_X11_SYM(1,Status,XAllocColor,(Display*,Colormap,XColor*))
SDL_X11_SYM(1,XSizeHints*,XAllocSizeHints,(void))
SDL_X11_SYM(1,XWMHints*,XAllocWMHints,(void))
SDL_X11_SYM(1,int,XChangePointerControl,(Display*,Bool,Bool,int,int,int))
SDL_X11_SYM(1,int,XChangeProperty,(Display*,Window,Atom,Atom,int,int,_Xconst unsigned char*,int))
SDL_X11_SYM(1,int,XChangeWindowAttributes,(Display*,Window,unsigned long,XSetWindowAttributes*))
SDL_X11_SYM(1,Bool,XCheckTypedEvent,(Display*,int,XEvent*))
SDL_X11_SYM(1,int,XClearWindow,(Display*,Window))
SDL_X11_SYM(1,int,XCloseDisplay,(Display*))
SDL_X11_SYM(1,Colormap,XCreateColormap,(Display*,Window,Visual*,int))
SDL_X11_SYM(1,Cursor,XCreatePixmapCursor,(Display*,Pixmap,Pixmap,XColor*,XColor*,unsigned int,unsigned int))
SDL_X11_SYM(1,GC,XCreateGC,(Display*,Drawable,unsigned long,XGCValues*))
SDL_X11_SYM(1,XImage*,XCreateImage,(Display*,Visual*,unsigned int,int,int,char*,unsigned int,unsigned int,int,int))
SDL_X11_SYM(1,Pixmap,XCreatePixmap,(Display*,Drawable,unsigned int,unsigned int,unsigned int))
SDL_X11_SYM(1,Pixmap,XCreatePixmapFromBitmapData,(Display*,Drawable,char*,unsigned int,unsigned int,unsigned long,unsigned long,unsigned int))
SDL_X11_SYM(1,Window,XCreateSimpleWindow,(Display*,Window,int,int,unsigned int,unsigned int,unsigned int,unsigned long,unsigned long))
SDL_X11_SYM(1,Window,XCreateWindow,(Display*,Window,int,int,unsigned int,unsigned int,unsigned int,int,unsigned int,Visual*,unsigned long,XSetWindowAttributes*))
SDL_X11_SYM(1,int,XDefineCursor,(Display*,Window,Cursor))
SDL_X11_SYM(1,int,XDeleteProperty,(Display*,Window,Atom))
SDL_X11_SYM(1,int,XDestroyWindow,(Display*,Window))
SDL_X11_SYM(1,char*,XDisplayName,(_Xconst char*))
SDL_X11_SYM(1,int,XEventsQueued,(Display*,int))
SDL_X11_SYM(1,Bool,XFilterEvent,(XEvent *event, Window w))
SDL_X11_SYM(1,int,XFlush,(Display*))
SDL_X11_SYM(1,int,XFree,(void*))
SDL_X11_SYM(1,int,XFreeColormap,(Display*,Colormap))
SDL_X11_SYM(1,int,XFreeColors,(Display*,Colormap,unsigned long*,int,unsigned long))
SDL_X11_SYM(1,int,XFreeCursor,(Display*,Cursor))
SDL_X11_SYM(1,int,XFreeGC,(Display*,GC))
SDL_X11_SYM(1,int,XFreeModifiermap,(XModifierKeymap*))
SDL_X11_SYM(1,int,XFreePixmap,(Display*,Pixmap))
SDL_X11_SYM(1,int,XGetErrorDatabaseText,(Display*,_Xconst char*,_Xconst char*,_Xconst char*,char*,int))
SDL_X11_SYM(1,XModifierKeymap*,XGetModifierMapping,(Display*))
SDL_X11_SYM(1,int,XGetPointerControl,(Display*,int*,int*,int*))
SDL_X11_SYM(1,XVisualInfo*,XGetVisualInfo,(Display*,long,XVisualInfo*,int*))
SDL_X11_SYM(1,XWMHints*,XGetWMHints,(Display*,Window))
SDL_X11_SYM(1,Status,XGetTextProperty,(Display*,Window,XTextProperty*,Atom))
SDL_X11_SYM(1,Status,XGetWindowAttributes,(Display*,Window,XWindowAttributes*))
SDL_X11_SYM(1,int,XGrabKeyboard,(Display*,Window,Bool,int,int,Time))
SDL_X11_SYM(1,int,XGrabPointer,(Display*,Window,Bool,unsigned int,int,int,Window,Cursor,Time))
SDL_X11_SYM(1,Status,XIconifyWindow,(Display*,Window,int))
SDL_X11_SYM(1,int,XInstallColormap,(Display*,Colormap))
SDL_X11_SYM(1,KeyCode,XKeysymToKeycode,(Display*,KeySym))
SDL_X11_SYM(1,Atom,XInternAtom,(Display*,_Xconst char*,Bool))
SDL_X11_SYM(1,XPixmapFormatValues*,XListPixmapFormats,(Display*,int*))
SDL_X11_SYM(1,int,XLookupString,(XKeyEvent*,char*,int,KeySym*,XComposeStatus*))
SDL_X11_SYM(1,int,XMapRaised,(Display*,Window))
SDL_X11_SYM(1,int,XMapWindow,(Display*,Window))
SDL_X11_SYM(1,int,XMaskEvent,(Display*,long,XEvent*))
SDL_X11_SYM(1,Status,XMatchVisualInfo,(Display*,int,int,int,XVisualInfo*))
SDL_X11_SYM(1,int,XMissingExtension,(Display*,_Xconst char*))
SDL_X11_SYM(1,int,XMoveResizeWindow,(Display*,Window,int,int,unsigned int,unsigned int))
SDL_X11_SYM(1,int,XMoveWindow,(Display*,Window,int,int))
SDL_X11_SYM(1,int,XNextEvent,(Display*,XEvent*))
SDL_X11_SYM(1,Display*,XOpenDisplay,(_Xconst char*))
SDL_X11_SYM(1,int,XPeekEvent,(Display*,XEvent*))
SDL_X11_SYM(1,int,XPending,(Display*))
SDL_X11_SYM(1,int,XPutImage,(Display*,Drawable,GC,XImage*,int,int,int,int,unsigned int,unsigned int))
SDL_X11_SYM(1,int,XQueryColors,(Display*,Colormap,XColor*,int))
SDL_X11_SYM(1,int,XQueryKeymap,(Display*,char [32]))
SDL_X11_SYM(1,Bool,XQueryPointer,(Display*,Window,Window*,Window*,int*,int*,int*,int*,unsigned int*))
SDL_X11_SYM(1,int,XRaiseWindow,(Display*,Window))
SDL_X11_SYM(1,int,XReparentWindow,(Display*,Window,Window,int,int))
SDL_X11_SYM(1,int,XResizeWindow,(Display*,Window,unsigned int,unsigned int))
SDL_X11_SYM(1,int,XSelectInput,(Display*,Window,long))
SDL_X11_SYM(1,Status,XSendEvent,(Display*,Window,Bool,long,XEvent*))
SDL_X11_SYM(1,int,XSetClassHint,(Display*,Window,XClassHint*))
SDL_X11_SYM(1,XErrorHandler,XSetErrorHandler,(XErrorHandler))
SDL_X11_SYM(1,XIOErrorHandler,XSetIOErrorHandler,(XIOErrorHandler))
SDL_X11_SYM(1,int,XSetTransientForHint,(Display*,Window,Window))
SDL_X11_SYM(1,int,XSetWMHints,(Display*,Window,XWMHints*))
SDL_X11_SYM(1,void,XSetTextProperty,(Display*,Window,XTextProperty*,Atom))
SDL_X11_SYM(1,void,XSetWMNormalHints,(Display*,Window,XSizeHints*))
SDL_X11_SYM(1,Status,XSetWMProtocols,(Display*,Window,Atom*,int))
SDL_X11_SYM(1,int,XSetWindowBackground,(Display*,Window,unsigned long))
SDL_X11_SYM(1,int,XSetWindowBackgroundPixmap,(Display*,Window,Pixmap))
SDL_X11_SYM(1,int,XSetWindowColormap,(Display*,Window,Colormap))
SDL_X11_SYM(1,int,XStoreColors,(Display*,Colormap,XColor*,int))
SDL_X11_SYM(1,Status,XStringListToTextProperty,(char**,int,XTextProperty*))
SDL_X11_SYM(1,int,XSync,(Display*,Bool))
SDL_X11_SYM(1,int,XUngrabKeyboard,(Display*,Time))
SDL_X11_SYM(1,int,XUngrabPointer,(Display*,Time))
SDL_X11_SYM(1,int,XUnmapWindow,(Display*,Window))
SDL_X11_SYM(1,int,XWarpPointer,(Display*,Window,Window,int,int,unsigned int,unsigned int,int,int))
SDL_X11_SYM(1,VisualID,XVisualIDFromVisual,(Visual*))
SDL_X11_SYM(1,XExtDisplayInfo*,XextAddDisplay,(XExtensionInfo*,Display*,char*,XExtensionHooks*,int,XPointer))
SDL_X11_SYM(1,XExtensionInfo*,XextCreateExtension,(void))
SDL_X11_SYM(1,void,XextDestroyExtension,(XExtensionInfo*))
SDL_X11_SYM(1,XExtDisplayInfo*,XextFindDisplay,(XExtensionInfo*,Display*))
SDL_X11_SYM(1,int,XextRemoveDisplay,(XExtensionInfo*,Display*))
SDL_X11_SYM(1,Bool,XQueryExtension,(Display*,_Xconst char*,int*,int*,int*))
SDL_X11_SYM(1,char *,XDisplayString,(Display*))
SDL_X11_SYM(1,int,XGetErrorText,(Display*,int,char*,int))
SDL_X11_MODULE(BASEXLIB)
SDL_X11_SYM(XClassHint*,XAllocClassHint,(void),(),return)
SDL_X11_SYM(Status,XAllocColor,(Display* a,Colormap b,XColor* c),(a,b,c),return)
SDL_X11_SYM(XSizeHints*,XAllocSizeHints,(void),(),return)
SDL_X11_SYM(XWMHints*,XAllocWMHints,(void),(),return)
SDL_X11_SYM(int,XChangePointerControl,(Display* a,Bool b,Bool c,int d,int e,int f),(a,b,c,d,e,f),return)
SDL_X11_SYM(int,XChangeProperty,(Display* a,Window b,Atom c,Atom d,int e,int f,_Xconst unsigned char* g,int h),(a,b,c,d,e,f,g,h),return)
SDL_X11_SYM(int,XChangeWindowAttributes,(Display* a,Window b,unsigned long c,XSetWindowAttributes* d),(a,b,c,d),return)
SDL_X11_SYM(Bool,XCheckTypedEvent,(Display* a,int b,XEvent* c),(a,b,c),return)
SDL_X11_SYM(int,XClearWindow,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(int,XCloseDisplay,(Display* a),(a),return)
SDL_X11_SYM(Colormap,XCreateColormap,(Display* a,Window b,Visual* c,int d),(a,b,c,d),return)
SDL_X11_SYM(Cursor,XCreatePixmapCursor,(Display* a,Pixmap b,Pixmap c,XColor* d,XColor* e,unsigned int f,unsigned int g),(a,b,c,d,e,f,g),return)
SDL_X11_SYM(GC,XCreateGC,(Display* a,Drawable b,unsigned long c,XGCValues* d),(a,b,c,d),return)
SDL_X11_SYM(XImage*,XCreateImage,(Display* a,Visual* b,unsigned int c,int d,int e,char* f,unsigned int g,unsigned int h,int i,int j),(a,b,c,d,e,f,g,h,i,j),return)
SDL_X11_SYM(Pixmap,XCreatePixmap,(Display* a,Drawable b,unsigned int c,unsigned int d,unsigned int e),(a,b,c,d,e),return)
SDL_X11_SYM(Pixmap,XCreatePixmapFromBitmapData,(Display* a,Drawable b,char* c,unsigned int d,unsigned int e,unsigned long f,unsigned long g,unsigned int h),(a,b,c,d,e,f,g,h),return)
SDL_X11_SYM(Window,XCreateSimpleWindow,(Display* a,Window b,int c,int d,unsigned int e,unsigned int f,unsigned int g,unsigned long h,unsigned long i),(a,b,c,d,e,f,g,h,i),return)
SDL_X11_SYM(Window,XCreateWindow,(Display* a,Window b,int c,int d,unsigned int e,unsigned int f,unsigned int g,int h,unsigned int i,Visual* j,unsigned long k,XSetWindowAttributes* l),(a,b,c,d,e,f,g,h,i,j,k,l),return)
SDL_X11_SYM(int,XDefineCursor,(Display* a,Window b,Cursor c),(a,b,c),return)
SDL_X11_SYM(int,XDeleteProperty,(Display* a,Window b,Atom c),(a,b,c),return)
SDL_X11_SYM(int,XDestroyWindow,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(char*,XDisplayName,(_Xconst char* a),(a),return)
SDL_X11_SYM(int,XEventsQueued,(Display* a,int b),(a,b),return)
SDL_X11_SYM(Bool,XFilterEvent,(XEvent *event, Window w),(event,w),return)
SDL_X11_SYM(int,XFlush,(Display* a),(a),return)
SDL_X11_SYM(int,XFree,(void*a),(a),return)
SDL_X11_SYM(int,XFreeColormap,(Display* a,Colormap b),(a,b),return)
SDL_X11_SYM(int,XFreeColors,(Display* a,Colormap b,unsigned long* c,int d,unsigned long e),(a,b,c,d,e),return)
SDL_X11_SYM(int,XFreeCursor,(Display* a,Cursor b),(a,b),return)
SDL_X11_SYM(int,XFreeGC,(Display* a,GC b),(a,b),return)
SDL_X11_SYM(int,XFreeModifiermap,(XModifierKeymap* a),(a),return)
SDL_X11_SYM(int,XFreePixmap,(Display* a,Pixmap b),(a,b),return)
SDL_X11_SYM(int,XGetErrorDatabaseText,(Display* a,_Xconst char* b,_Xconst char* c,_Xconst char* d,char* e,int f),(a,b,c,d,e,f),return)
SDL_X11_SYM(XModifierKeymap*,XGetModifierMapping,(Display* a),(a),return)
SDL_X11_SYM(int,XGetPointerControl,(Display* a,int* b,int* c,int* d),(a,b,c,d),return)
SDL_X11_SYM(XVisualInfo*,XGetVisualInfo,(Display* a,long b,XVisualInfo* c,int* d),(a,b,c,d),return)
SDL_X11_SYM(XWMHints*,XGetWMHints,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(Status,XGetTextProperty,(Display* a,Window b,XTextProperty* c,Atom d),(a,b,c,d),return)
SDL_X11_SYM(Status,XGetWindowAttributes,(Display* a,Window b,XWindowAttributes* c),(a,b,c),return)
SDL_X11_SYM(int,XGrabKeyboard,(Display* a,Window b,Bool c,int d,int e,Time f),(a,b,c,d,e,f),return)
SDL_X11_SYM(int,XGrabPointer,(Display* a,Window b,Bool c,unsigned int d,int e,int f,Window g,Cursor h,Time i),(a,b,c,d,e,f,g,h,i),return)
SDL_X11_SYM(Status,XIconifyWindow,(Display* a,Window b,int c),(a,b,c),return)
SDL_X11_SYM(int,XInstallColormap,(Display* a,Colormap b),(a,b),return)
SDL_X11_SYM(KeyCode,XKeysymToKeycode,(Display* a,KeySym b),(a,b),return)
SDL_X11_SYM(Atom,XInternAtom,(Display* a,_Xconst char* b,Bool c),(a,b,c),return)
SDL_X11_SYM(XPixmapFormatValues*,XListPixmapFormats,(Display* a,int* b),(a,b),return)
SDL_X11_SYM(int,XLookupString,(XKeyEvent* a,char* b,int c,KeySym* d,XComposeStatus* e),(a,b,c,d,e),return)
SDL_X11_SYM(int,XMapRaised,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(int,XMapWindow,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(int,XMaskEvent,(Display* a,long b,XEvent* c),(a,b,c),return)
SDL_X11_SYM(Status,XMatchVisualInfo,(Display* a,int b,int c,int d,XVisualInfo* e),(a,b,c,d,e),return)
SDL_X11_SYM(int,XMissingExtension,(Display* a,_Xconst char* b),(a,b),return)
SDL_X11_SYM(int,XMoveResizeWindow,(Display* a,Window b,int c,int d,unsigned int e,unsigned int f),(a,b,c,d,e,f),return)
SDL_X11_SYM(int,XMoveWindow,(Display* a,Window b,int c,int d),(a,b,c,d),return)
SDL_X11_SYM(int,XNextEvent,(Display* a,XEvent* b),(a,b),return)
SDL_X11_SYM(Display*,XOpenDisplay,(_Xconst char* a),(a),return)
SDL_X11_SYM(int,XPeekEvent,(Display* a,XEvent* b),(a,b),return)
SDL_X11_SYM(int,XPending,(Display* a),(a),return)
SDL_X11_SYM(int,XPutImage,(Display* a,Drawable b,GC c,XImage* d,int e,int f,int g,int h,unsigned int i,unsigned int j),(a,b,c,d,e,f,g,h,i,j),return)
SDL_X11_SYM(int,XQueryColors,(Display* a,Colormap b,XColor* c,int d),(a,b,c,d),return)
SDL_X11_SYM(int,XQueryKeymap,(Display* a,char *b),(a,b),return)
SDL_X11_SYM(Bool,XQueryPointer,(Display* a,Window b,Window* c,Window* d,int* e,int* f,int* g,int* h,unsigned int* i),(a,b,c,d,e,f,g,h,i),return)
SDL_X11_SYM(int,XRaiseWindow,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(int,XReparentWindow,(Display* a,Window b,Window c,int d,int e),(a,b,c,d,e),return)
SDL_X11_SYM(int,XResizeWindow,(Display* a,Window b,unsigned int c,unsigned int d),(a,b,c,d),return)
SDL_X11_SYM(int,XSelectInput,(Display* a,Window b,long c),(a,b,c),return)
SDL_X11_SYM(Status,XSendEvent,(Display* a,Window b,Bool c,long d,XEvent* e),(a,b,c,d,e),return)
SDL_X11_SYM(int,XSetClassHint,(Display* a,Window b,XClassHint* c),(a,b,c),return)
SDL_X11_SYM(XErrorHandler,XSetErrorHandler,(XErrorHandler a),(a),return)
SDL_X11_SYM(XIOErrorHandler,XSetIOErrorHandler,(XIOErrorHandler a),(a),return)
SDL_X11_SYM(int,XSetTransientForHint,(Display* a,Window b,Window c),(a,b,c),return)
SDL_X11_SYM(int,XSetWMHints,(Display* a,Window b,XWMHints* c),(a,b,c),return)
SDL_X11_SYM(void,XSetTextProperty,(Display* a,Window b,XTextProperty* c,Atom d),(a,b,c,d),)
SDL_X11_SYM(void,XSetWMNormalHints,(Display* a,Window b,XSizeHints* c),(a,b,c),)
SDL_X11_SYM(Status,XSetWMProtocols,(Display* a,Window b,Atom* c,int d),(a,b,c,d),return)
SDL_X11_SYM(int,XSetWindowBackground,(Display* a,Window b,unsigned long c),(a,b,c),return)
SDL_X11_SYM(int,XSetWindowBackgroundPixmap,(Display* a,Window b,Pixmap c),(a,b,c),return)
SDL_X11_SYM(int,XSetWindowColormap,(Display* a,Window b,Colormap c),(a,b,c),return)
SDL_X11_SYM(int,XStoreColors,(Display* a,Colormap b,XColor* c,int d),(a,b,c,d),return)
SDL_X11_SYM(Status,XStringListToTextProperty,(char** a,int b,XTextProperty* c),(a,b,c),return)
SDL_X11_SYM(int,XSync,(Display* a,Bool b),(a,b),return)
SDL_X11_SYM(int,XUngrabKeyboard,(Display* a,Time b),(a,b),return)
SDL_X11_SYM(int,XUngrabPointer,(Display* a,Time b),(a,b),return)
SDL_X11_SYM(int,XUnmapWindow,(Display* a,Window b),(a,b),return)
SDL_X11_SYM(int,XWarpPointer,(Display* a,Window b,Window c,int d,int e,unsigned int f,unsigned int g,int h, int i),(a,b,c,d,e,f,g,h,i),return)
SDL_X11_SYM(VisualID,XVisualIDFromVisual,(Visual* a),(a),return)
SDL_X11_SYM(XExtDisplayInfo*,XextAddDisplay,(XExtensionInfo* a,Display* b,char* c,XExtensionHooks* d,int e,XPointer f),(a,b,c,d,e,f),return)
SDL_X11_SYM(XExtensionInfo*,XextCreateExtension,(void),(),return)
SDL_X11_SYM(void,XextDestroyExtension,(XExtensionInfo* a),(a),)
SDL_X11_SYM(XExtDisplayInfo*,XextFindDisplay,(XExtensionInfo* a,Display* b),(a,b),return)
SDL_X11_SYM(int,XextRemoveDisplay,(XExtensionInfo* a,Display* b),(a,b),return)
SDL_X11_SYM(Bool,XQueryExtension,(Display* a,_Xconst char* b,int* c,int* d,int* e),(a,b,c,d,e),return)
SDL_X11_SYM(char *,XDisplayString,(Display* a),(a),return)
SDL_X11_SYM(int,XGetErrorText,(Display* a,int b,char* c,int d),(a,b,c,d),return)
SDL_X11_SYM(void,_XEatData,(Display* a,unsigned long b),(a,b),)
SDL_X11_SYM(void,_XFlush,(Display* a),(a),)
SDL_X11_SYM(void,_XFlushGCCache,(Display* a,GC b),(a,b),)
SDL_X11_SYM(int,_XRead,(Display* a,char* b,long c),(a,b,c),return)
SDL_X11_SYM(void,_XReadPad,(Display* a,char* b,long c),(a,b,c),)
SDL_X11_SYM(void,_XSend,(Display* a,_Xconst char* b,long c),(a,b,c),)
SDL_X11_SYM(Status,_XReply,(Display* a,xReply* b,int c,Bool d),(a,b,c,d),return)
SDL_X11_SYM(unsigned long,_XSetLastRequestRead,(Display* a,xGenericReply* b),(a,b),return)
SDL_X11_SYM(SDL_X11_XSynchronizeRetType,XSynchronize,(Display* a,Bool b),(a,b),return)
SDL_X11_SYM(SDL_X11_XESetWireToEventRetType,XESetWireToEvent,(Display* a,int b,SDL_X11_XESetWireToEventRetType c),(a,b,c),return)
SDL_X11_SYM(SDL_X11_XESetEventToWireRetType,XESetEventToWire,(Display* a,int b,SDL_X11_XESetEventToWireRetType c),(a,b,c),return)
SDL_X11_SYM(SDL_X11_XSetExtensionErrorHandlerType,XSetExtensionErrorHandler,(SDL_X11_XSetExtensionErrorHandlerType a),(a),return)
#ifdef X_HAVE_UTF8_STRING
SDL_X11_SYM(1,int,Xutf8TextListToTextProperty,(Display*,char**,int,XICCEncodingStyle,XTextProperty*))
SDL_X11_SYM(1,int,Xutf8LookupString,(XIC,XKeyPressedEvent*,char*,int,KeySym*,Status*))
SDL_X11_SYM(1,XIC,XCreateIC,(XIM, ...))
SDL_X11_SYM(1,void,XDestroyIC,(XIC))
SDL_X11_SYM(1,void,XSetICFocus,(XIC))
SDL_X11_SYM(1,void,XUnsetICFocus,(XIC))
SDL_X11_SYM(1,XIM,XOpenIM,(Display*,struct _XrmHashBucketRec*,char*,char*))
SDL_X11_SYM(1,Status,XCloseIM,(XIM))
#if NeedWidePrototypes
SDL_X11_SYM(KeySym,XKeycodeToKeysym,(Display* a,unsigned int b,int c),(a,b,c),return)
#else
SDL_X11_SYM(KeySym,XKeycodeToKeysym,(Display* a,KeyCode b,int c),(a,b,c),return)
#endif
SDL_X11_SYM(1,void,_XEatData,(Display*,unsigned long))
SDL_X11_SYM(1,void,_XFlush,(Display*))
SDL_X11_SYM(1,void,_XFlushGCCache,(Display*,GC))
SDL_X11_SYM(1,int,_XRead,(Display*,char*,long))
SDL_X11_SYM(1,void,_XReadPad,(Display*,char*,long))
SDL_X11_SYM(1,void,_XSend,(Display*,_Xconst char*,long))
SDL_X11_SYM(1,Status,_XReply,(Display*,xReply*,int,Bool))
SDL_X11_SYM(1,unsigned long,_XSetLastRequestRead,(Display*,xGenericReply*))
/*
* These don't exist in 32-bit versions and are removed by Xlib macros, but
* 64+ bit systems will use them.
*/
#if defined(LONG64)
SDL_X11_SYM(1,int,_XData32,(Display *dpy,register long *data,unsigned len))
SDL_X11_SYM(1,void,_XRead32,(Display *dpy,register long *data,long len))
#ifdef X_HAVE_UTF8_STRING
SDL_X11_MODULE(UTF8)
SDL_X11_SYM(int,Xutf8TextListToTextProperty,(Display* a,char** b,int c,XICCEncodingStyle d,XTextProperty* e),(a,b,c,d,e),return)
SDL_X11_SYM(int,Xutf8LookupString,(XIC a,XKeyPressedEvent* b,char* c,int d,KeySym* e,Status* f),(a,b,c,d,e,f),return)
/*SDL_X11_SYM(XIC,XCreateIC,(XIM, ...),return) !!! ARGH! */
SDL_X11_SYM(void,XDestroyIC,(XIC a),(a),)
SDL_X11_SYM(void,XSetICFocus,(XIC a),(a),)
SDL_X11_SYM(void,XUnsetICFocus,(XIC a),(a),)
SDL_X11_SYM(XIM,XOpenIM,(Display* a,struct _XrmHashBucketRec* b,char* c,char* d),(a,b,c,d),return)
SDL_X11_SYM(Status,XCloseIM,(XIM a),(a),return)
#endif
#if defined(__osf__)
SDL_X11_SYM(1,void,_SmtBufferOverflow,(Display *dpy,register smtDisplayPtr))
SDL_X11_SYM(1,void,_SmtIpError,(Display *dpy,register smtDisplayPtr, int))
SDL_X11_SYM(1,int,ipAllocateData,(ChannelPtr, IPCard, IPDataPtr *))
SDL_X11_SYM(1,int,ipUnallocateAndSendData,(ChannelPtr, IPCard))
#ifndef NO_SHARED_MEMORY
SDL_X11_MODULE(SHM)
SDL_X11_SYM(Status,XShmAttach,(Display* a,XShmSegmentInfo* b),(a,b),return)
SDL_X11_SYM(Status,XShmDetach,(Display* a,XShmSegmentInfo* b),(a,b),return)
SDL_X11_SYM(Status,XShmPutImage,(Display* a,Drawable b,GC c,XImage* d,int e,int f,int g,int h,unsigned int i,unsigned int j,Bool k),(a,b,c,d,e,f,g,h,i,j,k),return)
SDL_X11_SYM(XImage*,XShmCreateImage,(Display* a,Visual* b,unsigned int c,int d,char* e,XShmSegmentInfo* f,unsigned int g,unsigned int h),(a,b,c,d,e,f,g,h),return)
SDL_X11_SYM(Bool,XShmQueryExtension,(Display* a),(a),return)
#endif
#if NeedWidePrototypes
SDL_X11_SYM(1,KeySym,XKeycodeToKeysym,(Display*,unsigned int,int))
#else
SDL_X11_SYM(1,KeySym,XKeycodeToKeysym,(Display*,KeyCode,int))
#endif
/*
* Not required...these only exist in code in headers on some 64-bit platforms,
* and are removed via macros elsewhere, so it's safe for them to be missing.
*/
SDL_X11_MODULE(IO_32BIT)
SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
#ifndef NO_SHARED_MEMORY
SDL_X11_SYM(1,Status,XShmAttach,(Display*,XShmSegmentInfo*))
SDL_X11_SYM(1,Status,XShmDetach,(Display*,XShmSegmentInfo*))
SDL_X11_SYM(1,Status,XShmPutImage,(Display*,Drawable,GC,XImage*,int,int,int,int,unsigned int,unsigned int,Bool))
SDL_X11_SYM(1,XImage*,XShmCreateImage,(Display*,Visual*,unsigned int,int,char*,XShmSegmentInfo*,unsigned int,unsigned int))
SDL_X11_SYM(1,Bool,XShmQueryExtension,(Display*))
/*
* These only show up on some variants of Unix.
*/
#if defined(__osf__)
SDL_X11_MODULE(OSF_ENTRY_POINTS)
SDL_X11_SYM(void,_SmtBufferOverflow,(Display *dpy,register smtDisplayPtr p),(dpy,p),)
SDL_X11_SYM(void,_SmtIpError,(Display *dpy,register smtDisplayPtr p, int i),(dpy,p,i),)
SDL_X11_SYM(int,ipAllocateData,(ChannelPtr a, IPCard b, IPDataPtr * c),(a,b,c),return)
SDL_X11_SYM(int,ipUnallocateAndSendData,(ChannelPtr a, IPCard b),(a,b),return)
#endif
SDL_X11_SYM(1,SDL_X11_XSynchronizeRetType,XSynchronize,(Display*,Bool))
SDL_X11_SYM(1,SDL_X11_XESetWireToEventRetType,XESetWireToEvent,(Display*,int,SDL_X11_XESetWireToEventRetType))
SDL_X11_SYM(1,SDL_X11_XESetEventToWireRetType,XESetEventToWire,(Display*,int,SDL_X11_XESetEventToWireRetType))
SDL_X11_SYM(1,SDL_X11_XSetExtensionErrorHandlerType,XSetExtensionErrorHandler,(SDL_X11_XSetExtensionErrorHandlerType))
/* end of SDL_x11sym.h ... */
......@@ -71,9 +71,9 @@ static int X11_Available(void)
{
Display *display = NULL;
if ( SDL_X11_LoadSymbols() ) {
display = pXOpenDisplay(NULL);
display = XOpenDisplay(NULL);
if ( display != NULL ) {
pXCloseDisplay(display);
XCloseDisplay(display);
}
SDL_X11_UnloadSymbols();
}
......@@ -199,7 +199,7 @@ static int x_errhandler(Display *d, XErrorEvent *e)
(e->error_code <= (vm_error+XF86VidModeNumberErrors)))) ) {
#ifdef XFREE86_DEBUG
{ char errmsg[1024];
pXGetErrorText(d, e->error_code, errmsg, sizeof(errmsg));
XGetErrorText(d, e->error_code, errmsg, sizeof(errmsg));
printf("VidMode error: %s\n", errmsg);
}
#endif
......@@ -214,7 +214,7 @@ printf("VidMode error: %s\n", errmsg);
(e->error_code <= (dga_error+XF86DGANumberErrors))) ) {
#ifdef XFREE86_DEBUG
{ char errmsg[1024];
pXGetErrorText(d, e->error_code, errmsg, sizeof(errmsg));
XGetErrorText(d, e->error_code, errmsg, sizeof(errmsg));
printf("DGA error: %s\n", errmsg);
}
#endif
......@@ -247,7 +247,7 @@ static int xext_errhandler(Display *d, char *ext_name, char *reason)
#ifdef XFREE86_DEBUG
printf("Xext error inside SDL (may be harmless):\n");
printf(" Extension \"%s\" %s on display \"%s\".\n",
ext_name, reason, pXDisplayString(d));
ext_name, reason, XDisplayString(d));
#endif
if (SDL_strcmp(reason, "missing") == 0) {
......@@ -319,9 +319,9 @@ static void create_aux_windows(_THIS)
int def_vis = (SDL_Visual == DefaultVisual(SDL_Display, SDL_Screen));
/* Look up some useful Atoms */
WM_DELETE_WINDOW = pXInternAtom(SDL_Display, "WM_DELETE_WINDOW", False);
_NET_WM_NAME = pXInternAtom(SDL_Display, "_NET_WM_NAME", False);
_NET_WM_ICON_NAME = pXInternAtom(SDL_Display, "_NET_WM_ICON_NAME", False);
WM_DELETE_WINDOW = XInternAtom(SDL_Display, "WM_DELETE_WINDOW", False);
_NET_WM_NAME = XInternAtom(SDL_Display, "_NET_WM_NAME", False);
_NET_WM_ICON_NAME = XInternAtom(SDL_Display, "_NET_WM_ICON_NAME", False);
/* Don't create any extra windows if we are being managed */
if ( SDL_windowid ) {
......@@ -331,21 +331,21 @@ static void create_aux_windows(_THIS)
}
if(FSwindow)
pXDestroyWindow(SDL_Display, FSwindow);
XDestroyWindow(SDL_Display, FSwindow);
xattr.override_redirect = True;
xattr.background_pixel = def_vis ? BlackPixel(SDL_Display, SDL_Screen) : 0;
xattr.border_pixel = 0;
xattr.colormap = SDL_XColorMap;
FSwindow = pXCreateWindow(SDL_Display, SDL_Root,
FSwindow = XCreateWindow(SDL_Display, SDL_Root,
xinerama_x, xinerama_y, 32, 32, 0,
this->hidden->depth, InputOutput, SDL_Visual,
CWOverrideRedirect | CWBackPixel | CWBorderPixel
| CWColormap,
&xattr);
pXSelectInput(SDL_Display, FSwindow, StructureNotifyMask);
XSelectInput(SDL_Display, FSwindow, StructureNotifyMask);
/* Tell KDE to keep the fullscreen window on top */
{
......@@ -355,13 +355,13 @@ static void create_aux_windows(_THIS)
SDL_memset(&ev, 0, sizeof(ev));
ev.xclient.type = ClientMessage;
ev.xclient.window = SDL_Root;
ev.xclient.message_type = pXInternAtom(SDL_Display,
ev.xclient.message_type = XInternAtom(SDL_Display,
"KWM_KEEP_ON_TOP", False);
ev.xclient.format = 32;
ev.xclient.data.l[0] = FSwindow;
ev.xclient.data.l[1] = CurrentTime;
mask = SubstructureRedirectMask;
pXSendEvent(SDL_Display, SDL_Root, False, mask, &ev);
XSendEvent(SDL_Display, SDL_Root, False, mask, &ev);
}
hints = NULL;
......@@ -369,47 +369,47 @@ static void create_aux_windows(_THIS)
iconprop.value = iconpropUTF8.value = NULL;
if(WMwindow) {
/* All window attributes must survive the recreation */
hints = pXGetWMHints(SDL_Display, WMwindow);
pXGetTextProperty(SDL_Display, WMwindow, &titleprop, XA_WM_NAME);
pXGetTextProperty(SDL_Display, WMwindow, &titlepropUTF8, _NET_WM_NAME);
pXGetTextProperty(SDL_Display, WMwindow, &iconprop, XA_WM_ICON_NAME);
pXGetTextProperty(SDL_Display, WMwindow, &iconpropUTF8, _NET_WM_ICON_NAME);
pXDestroyWindow(SDL_Display, WMwindow);
hints = XGetWMHints(SDL_Display, WMwindow);
XGetTextProperty(SDL_Display, WMwindow, &titleprop, XA_WM_NAME);
XGetTextProperty(SDL_Display, WMwindow, &titlepropUTF8, _NET_WM_NAME);
XGetTextProperty(SDL_Display, WMwindow, &iconprop, XA_WM_ICON_NAME);
XGetTextProperty(SDL_Display, WMwindow, &iconpropUTF8, _NET_WM_ICON_NAME);
XDestroyWindow(SDL_Display, WMwindow);
}
/* Create the window for windowed management */
/* (reusing the xattr structure above) */
WMwindow = pXCreateWindow(SDL_Display, SDL_Root, 0, 0, 32, 32, 0,
WMwindow = XCreateWindow(SDL_Display, SDL_Root, 0, 0, 32, 32, 0,
this->hidden->depth, InputOutput, SDL_Visual,
CWBackPixel | CWBorderPixel | CWColormap,
&xattr);
/* Set the input hints so we get keyboard input */
if(!hints) {
hints = pXAllocWMHints();
hints = XAllocWMHints();
hints->input = True;
hints->flags = InputHint;
}
pXSetWMHints(SDL_Display, WMwindow, hints);
pXFree(hints);
XSetWMHints(SDL_Display, WMwindow, hints);
XFree(hints);
if(titleprop.value) {
pXSetTextProperty(SDL_Display, WMwindow, &titleprop, XA_WM_NAME);
pXFree(titleprop.value);
XSetTextProperty(SDL_Display, WMwindow, &titleprop, XA_WM_NAME);
XFree(titleprop.value);
}
if(titlepropUTF8.value) {
pXSetTextProperty(SDL_Display, WMwindow, &titlepropUTF8, _NET_WM_NAME);
pXFree(titlepropUTF8.value);
XSetTextProperty(SDL_Display, WMwindow, &titlepropUTF8, _NET_WM_NAME);
XFree(titlepropUTF8.value);
}
if(iconprop.value) {
pXSetTextProperty(SDL_Display, WMwindow, &iconprop, XA_WM_ICON_NAME);
pXFree(iconprop.value);
XSetTextProperty(SDL_Display, WMwindow, &iconprop, XA_WM_ICON_NAME);
XFree(iconprop.value);
}
if(iconpropUTF8.value) {
pXSetTextProperty(SDL_Display, WMwindow, &iconpropUTF8, _NET_WM_ICON_NAME);
pXFree(iconpropUTF8.value);
XSetTextProperty(SDL_Display, WMwindow, &iconpropUTF8, _NET_WM_ICON_NAME);
XFree(iconpropUTF8.value);
}
pXSelectInput(SDL_Display, WMwindow,
XSelectInput(SDL_Display, WMwindow,
FocusChangeMask | KeyPressMask | KeyReleaseMask
| PropertyChangeMask | StructureNotifyMask | KeymapStateMask);
......@@ -417,41 +417,44 @@ static void create_aux_windows(_THIS)
get_classname(classname, sizeof(classname));
{
XClassHint *classhints;
classhints = pXAllocClassHint();
classhints = XAllocClassHint();
if(classhints != NULL) {
classhints->res_name = classname;
classhints->res_class = classname;
pXSetClassHint(SDL_Display, WMwindow, classhints);
pXFree(classhints);
XSetClassHint(SDL_Display, WMwindow, classhints);
XFree(classhints);
}
}
/* Setup the communication with the IM server */
SDL_IM = NULL;
SDL_IC = NULL;
#ifdef X_HAVE_UTF8_STRING
SDL_IM = pXOpenIM(SDL_Display, NULL, classname, classname);
if (SDL_IM == NULL) {
SDL_SetError("no input method could be opened");
} else {
SDL_IC = pXCreateIC(SDL_IM,
XNClientWindow, WMwindow,
XNFocusWindow, WMwindow,
XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
XNResourceName, classname,
XNResourceClass, classname,
NULL);
if (SDL_IC == NULL) {
SDL_SetError("no input context could be created");
pXCloseIM(SDL_IM);
SDL_IM = NULL;
SDL_IM = NULL;
SDL_IC = NULL;
#ifdef X_HAVE_UTF8_STRING
if (SDL_X11_HAVE_UTF8) {
SDL_IM = XOpenIM(SDL_Display, NULL, classname, classname);
if (SDL_IM == NULL) {
SDL_SetError("no input method could be opened");
} else {
SDL_IC = pXCreateIC(SDL_IM,
XNClientWindow, WMwindow,
XNFocusWindow, WMwindow,
XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
XNResourceName, classname,
XNResourceClass, classname,
NULL);
if (SDL_IC == NULL) {
SDL_SetError("no input context could be created");
XCloseIM(SDL_IM);
SDL_IM = NULL;
}
}
}
}
#endif
#endif
/* Allow the window to be deleted by the window manager */
pXSetWMProtocols(SDL_Display, WMwindow, &WM_DELETE_WINDOW, 1);
/* Allow the window to be deleted by the window manager */
XSetWMProtocols(SDL_Display, WMwindow, &WM_DELETE_WINDOW, 1);
}
static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
......@@ -462,13 +465,13 @@ static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
/* Open the X11 display */
display = NULL; /* Get it from DISPLAY environment variable */
if ( (SDL_strncmp(pXDisplayName(display), ":", 1) == 0) ||
(SDL_strncmp(pXDisplayName(display), "unix:", 5) == 0) ) {
if ( (SDL_strncmp(XDisplayName(display), ":", 1) == 0) ||
(SDL_strncmp(XDisplayName(display), "unix:", 5) == 0) ) {
local_X11 = 1;
} else {
local_X11 = 0;
}
SDL_Display = pXOpenDisplay(display);
SDL_Display = XOpenDisplay(display);
#if defined(__osf__) && defined(SDL_VIDEO_DRIVER_X11_DYNAMIC)
/* On Tru64 if linking without -lX11, it fails and you get following message.
* Xlib: connection to ":0.0" refused by server
......@@ -480,7 +483,7 @@ static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
*/
if ( SDL_Display == NULL ) {
SDL_Delay(1000);
SDL_Display = pXOpenDisplay(display);
SDL_Display = XOpenDisplay(display);
}
#endif
if ( SDL_Display == NULL ) {
......@@ -488,27 +491,27 @@ static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
return(-1);
}
#ifdef X11_DEBUG
pXSynchronize(SDL_Display, True);
XSynchronize(SDL_Display, True);
#endif
/* Create an alternate X display for graphics updates -- allows us
to do graphics updates in a separate thread from event handling.
Thread-safe X11 doesn't seem to exist.
*/
GFX_Display = pXOpenDisplay(display);
GFX_Display = XOpenDisplay(display);
if ( GFX_Display == NULL ) {
SDL_SetError("Couldn't open X11 display");
return(-1);
}
/* Set the normal X error handler */
X_handler = pXSetErrorHandler(x_errhandler);
X_handler = XSetErrorHandler(x_errhandler);
/* Set the error handler if we lose the X display */
XIO_handler = pXSetIOErrorHandler(xio_errhandler);
XIO_handler = XSetIOErrorHandler(xio_errhandler);
/* Set the X extension error handler */
Xext_handler = pXSetExtensionErrorHandler(xext_errhandler);
Xext_handler = XSetExtensionErrorHandler(xext_errhandler);
/* use default screen (from $DISPLAY) */
SDL_Screen = DefaultScreen(SDL_Display);
......@@ -517,7 +520,7 @@ static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
/* Check for MIT shared memory extension */
use_mitshm = 0;
if ( local_X11 ) {
use_mitshm = pXShmQueryExtension(SDL_Display);
use_mitshm = XShmQueryExtension(SDL_Display);
}
#endif /* NO_SHARED_MEMORY */
......@@ -544,7 +547,7 @@ static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
if ( SDL_Visual == DefaultVisual(SDL_Display, SDL_Screen) ) {
SDL_XColorMap = SDL_DisplayColormap;
} else {
SDL_XColorMap = pXCreateColormap(SDL_Display, SDL_Root,
SDL_XColorMap = XCreateColormap(SDL_Display, SDL_Root,
SDL_Visual, AllocNone);
}
this->hidden->depth = this->hidden->visuals[i].depth;
......@@ -571,7 +574,7 @@ static int X11_VideoInit(_THIS, SDL_PixelFormat *vformat)
this->info.wm_available = 1;
/* We're done! */
pXFlush(SDL_Display);
XFlush(SDL_Display);
return(0);
}
......@@ -586,7 +589,7 @@ static void X11_DestroyWindow(_THIS, SDL_Surface *screen)
if ( ! SDL_windowid ) {
/* Hide the managed window */
if ( WMwindow ) {
pXUnmapWindow(SDL_Display, WMwindow);
XUnmapWindow(SDL_Display, WMwindow);
}
if ( screen && (screen->flags & SDL_FULLSCREEN) ) {
screen->flags &= ~SDL_FULLSCREEN;
......@@ -595,7 +598,7 @@ static void X11_DestroyWindow(_THIS, SDL_Surface *screen)
/* Destroy the output window */
if ( SDL_Window ) {
pXDestroyWindow(SDL_Display, SDL_Window);
XDestroyWindow(SDL_Display, SDL_Window);
}
/* Free the colormap entries */
......@@ -605,7 +608,7 @@ static void X11_DestroyWindow(_THIS, SDL_Surface *screen)
numcolors = SDL_Visual->map_entries;
for ( pixel=0; pixel<numcolors; ++pixel ) {
while ( SDL_XPixels[pixel] > 0 ) {
pXFreeColors(GFX_Display,
XFreeColors(GFX_Display,
SDL_DisplayColormap,&pixel,1,0);
--SDL_XPixels[pixel];
}
......@@ -616,7 +619,7 @@ static void X11_DestroyWindow(_THIS, SDL_Surface *screen)
/* Free the graphics context */
if ( SDL_GC ) {
pXFreeGC(SDL_Display, SDL_GC);
XFreeGC(SDL_Display, SDL_GC);
SDL_GC = 0;
}
}
......@@ -646,7 +649,7 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
{
XSizeHints *hints;
hints = pXAllocSizeHints();
hints = XAllocSizeHints();
if ( hints ) {
if ( flags & SDL_RESIZABLE ) {
hints->min_width = 32;
......@@ -666,13 +669,13 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
/* Center it, if desired */
if ( X11_WindowPosition(this, &hints->x, &hints->y, w, h) ) {
hints->flags |= USPosition;
pXMoveWindow(SDL_Display, WMwindow, hints->x, hints->y);
XMoveWindow(SDL_Display, WMwindow, hints->x, hints->y);
/* Flush the resize event so we don't catch it later */
pXSync(SDL_Display, True);
XSync(SDL_Display, True);
}
pXSetWMNormalHints(SDL_Display, WMwindow, hints);
pXFree(hints);
XSetWMNormalHints(SDL_Display, WMwindow, hints);
XFree(hints);
}
/* Respect the window caption style */
......@@ -684,7 +687,7 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
set = SDL_FALSE;
/* First try to set MWM hints */
WM_HINTS = pXInternAtom(SDL_Display, "_MOTIF_WM_HINTS", True);
WM_HINTS = XInternAtom(SDL_Display, "_MOTIF_WM_HINTS", True);
if ( WM_HINTS != None ) {
/* Hints used by Motif compliant window managers */
struct {
......@@ -695,7 +698,7 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
unsigned long status;
} MWMHints = { (1L << 1), 0, 0, 0, 0 };
pXChangeProperty(SDL_Display, WMwindow,
XChangeProperty(SDL_Display, WMwindow,
WM_HINTS, WM_HINTS, 32,
PropModeReplace,
(unsigned char *)&MWMHints,
......@@ -703,11 +706,11 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
set = SDL_TRUE;
}
/* Now try to set KWM hints */
WM_HINTS = pXInternAtom(SDL_Display, "KWM_WIN_DECORATION", True);
WM_HINTS = XInternAtom(SDL_Display, "KWM_WIN_DECORATION", True);
if ( WM_HINTS != None ) {
long KWMHints = 0;
pXChangeProperty(SDL_Display, WMwindow,
XChangeProperty(SDL_Display, WMwindow,
WM_HINTS, WM_HINTS, 32,
PropModeReplace,
(unsigned char *)&KWMHints,
......@@ -715,11 +718,11 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
set = SDL_TRUE;
}
/* Now try to set GNOME hints */
WM_HINTS = pXInternAtom(SDL_Display, "_WIN_HINTS", True);
WM_HINTS = XInternAtom(SDL_Display, "_WIN_HINTS", True);
if ( WM_HINTS != None ) {
long GNOMEHints = 0;
pXChangeProperty(SDL_Display, WMwindow,
XChangeProperty(SDL_Display, WMwindow,
WM_HINTS, WM_HINTS, 32,
PropModeReplace,
(unsigned char *)&GNOMEHints,
......@@ -728,7 +731,7 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
}
/* Finally set the transient hints if necessary */
if ( ! set ) {
pXSetTransientForHint(SDL_Display, WMwindow, SDL_Root);
XSetTransientForHint(SDL_Display, WMwindow, SDL_Root);
}
} else {
SDL_bool set;
......@@ -738,27 +741,27 @@ static void X11_SetSizeHints(_THIS, int w, int h, Uint32 flags)
set = SDL_FALSE;
/* First try to unset MWM hints */
WM_HINTS = pXInternAtom(SDL_Display, "_MOTIF_WM_HINTS", True);
WM_HINTS = XInternAtom(SDL_Display, "_MOTIF_WM_HINTS", True);
if ( WM_HINTS != None ) {
pXDeleteProperty(SDL_Display, WMwindow, WM_HINTS);
XDeleteProperty(SDL_Display, WMwindow, WM_HINTS);
set = SDL_TRUE;
}
/* Now try to unset KWM hints */
WM_HINTS = pXInternAtom(SDL_Display, "KWM_WIN_DECORATION", True);
WM_HINTS = XInternAtom(SDL_Display, "KWM_WIN_DECORATION", True);
if ( WM_HINTS != None ) {
pXDeleteProperty(SDL_Display, WMwindow, WM_HINTS);
XDeleteProperty(SDL_Display, WMwindow, WM_HINTS);
set = SDL_TRUE;
}
/* Now try to unset GNOME hints */
WM_HINTS = pXInternAtom(SDL_Display, "_WIN_HINTS", True);
WM_HINTS = XInternAtom(SDL_Display, "_WIN_HINTS", True);
if ( WM_HINTS != None ) {
pXDeleteProperty(SDL_Display, WMwindow, WM_HINTS);
XDeleteProperty(SDL_Display, WMwindow, WM_HINTS);
set = SDL_TRUE;
}
/* Finally unset the transient hints if necessary */
if ( ! set ) {
/* NOTE: Does this work? */
pXSetTransientForHint(SDL_Display, WMwindow, None);
XSetTransientForHint(SDL_Display, WMwindow, None);
}
}
}
......@@ -796,7 +799,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
} else if ( SDL_windowid ) {
XWindowAttributes a;
pXGetWindowAttributes(SDL_Display, SDL_Window, &a);
XGetWindowAttributes(SDL_Display, SDL_Window, &a);
vis = a.visual;
depth = a.depth;
} else {
......@@ -825,7 +828,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
/* Create the appropriate colormap */
if ( SDL_XColorMap != SDL_DisplayColormap ) {
pXFreeColormap(SDL_Display, SDL_XColorMap);
XFreeColormap(SDL_Display, SDL_XColorMap);
}
if ( SDL_Visual->class == PseudoColor ) {
int ncolors;
......@@ -845,7 +848,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
}
if ( flags & SDL_HWPALETTE ) {
screen->flags |= SDL_HWPALETTE;
SDL_XColorMap = pXCreateColormap(SDL_Display, SDL_Root,
SDL_XColorMap = XCreateColormap(SDL_Display, SDL_Root,
SDL_Visual, AllocAll);
} else {
SDL_XColorMap = SDL_DisplayColormap;
......@@ -853,9 +856,9 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
} else if ( SDL_Visual->class == DirectColor ) {
/* Create a colormap which we can manipulate for gamma */
SDL_XColorMap = pXCreateColormap(SDL_Display, SDL_Root,
SDL_XColorMap = XCreateColormap(SDL_Display, SDL_Root,
SDL_Visual, AllocAll);
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
/* Initialize the colormap to the identity mapping */
SDL_GetGammaRamp(0, 0, 0);
......@@ -864,7 +867,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
this->screen = NULL;
} else {
/* Create a read-only colormap for our window */
SDL_XColorMap = pXCreateColormap(SDL_Display, SDL_Root,
SDL_XColorMap = XCreateColormap(SDL_Display, SDL_Root,
SDL_Visual, AllocNone);
}
......@@ -877,8 +880,8 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
colour (0 is white on some displays), we should reset the
background to 0 here since that is what the user expects
with a private colormap */
pXSetWindowBackground(SDL_Display, FSwindow, 0);
pXClearWindow(SDL_Display, FSwindow);
XSetWindowBackground(SDL_Display, FSwindow, 0);
XClearWindow(SDL_Display, FSwindow);
}
/* resize the (possibly new) window manager window */
......@@ -886,7 +889,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
X11_SetSizeHints(this, w, h, flags);
window_w = w;
window_h = h;
pXResizeWindow(SDL_Display, WMwindow, w, h);
XResizeWindow(SDL_Display, WMwindow, w, h);
}
/* Create (or use) the X11 display window */
......@@ -901,14 +904,14 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
swa.background_pixel = 0;
swa.border_pixel = 0;
swa.colormap = SDL_XColorMap;
SDL_Window = pXCreateWindow(SDL_Display, WMwindow,
SDL_Window = XCreateWindow(SDL_Display, WMwindow,
0, 0, w, h, 0, depth,
InputOutput, SDL_Visual,
CWBackPixel | CWBorderPixel
| CWColormap, &swa);
}
/* Only manage our input if we own the window */
pXSelectInput(SDL_Display, SDL_Window,
XSelectInput(SDL_Display, SDL_Window,
( EnterWindowMask | LeaveWindowMask
| ButtonPressMask | ButtonReleaseMask
| PointerMotionMask | ExposureMask ));
......@@ -924,7 +927,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
XGCValues gcv;
gcv.graphics_exposures = False;
SDL_GC = pXCreateGC(SDL_Display, SDL_Window,
SDL_GC = XCreateGC(SDL_Display, SDL_Window,
GCGraphicsExposures, &gcv);
if ( ! SDL_GC ) {
SDL_SetError("Couldn't create graphics context");
......@@ -934,10 +937,10 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
/* Set our colormaps when not setting a GL mode */
if ( ! (flags & SDL_OPENGL) ) {
pXSetWindowColormap(SDL_Display, SDL_Window, SDL_XColorMap);
XSetWindowColormap(SDL_Display, SDL_Window, SDL_XColorMap);
if( !SDL_windowid ) {
pXSetWindowColormap(SDL_Display, FSwindow, SDL_XColorMap);
pXSetWindowColormap(SDL_Display, WMwindow, SDL_XColorMap);
XSetWindowColormap(SDL_Display, FSwindow, SDL_XColorMap);
XSetWindowColormap(SDL_Display, WMwindow, SDL_XColorMap);
}
}
......@@ -952,7 +955,7 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
xscreen = ScreenOfDisplay(SDL_Display, SDL_Screen);
a.backing_store = DoesBackingStore(xscreen);
if ( a.backing_store != NotUseful ) {
pXChangeWindowAttributes(SDL_Display, SDL_Window,
XChangeWindowAttributes(SDL_Display, SDL_Window,
CWBackingStore, &a);
}
}
......@@ -986,8 +989,8 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
/* Map them both and go fullscreen, if requested */
if ( ! SDL_windowid ) {
pXMapWindow(SDL_Display, SDL_Window);
pXMapWindow(SDL_Display, WMwindow);
XMapWindow(SDL_Display, SDL_Window);
XMapWindow(SDL_Display, WMwindow);
X11_WaitMapped(this, WMwindow);
if ( flags & SDL_FULLSCREEN ) {
screen->flags |= SDL_FULLSCREEN;
......@@ -1008,7 +1011,7 @@ static int X11_ResizeWindow(_THIS,
X11_SetSizeHints(this, w, h, flags);
window_w = w;
window_h = h;
pXResizeWindow(SDL_Display, WMwindow, w, h);
XResizeWindow(SDL_Display, WMwindow, w, h);
/* Resize the fullscreen and display windows */
if ( flags & SDL_FULLSCREEN ) {
......@@ -1024,7 +1027,7 @@ static int X11_ResizeWindow(_THIS,
X11_LeaveFullScreen(this);
}
}
pXResizeWindow(SDL_Display, SDL_Window, w, h);
XResizeWindow(SDL_Display, SDL_Window, w, h);
}
return(0);
}
......@@ -1046,7 +1049,7 @@ SDL_Surface *X11_SetVideoMode(_THIS, SDL_Surface *current,
}
/* Flush any delayed updates */
pXSync(GFX_Display, False);
XSync(GFX_Display, False);
/* Set up the X11 window */
saved_flags = current->flags;
......@@ -1076,7 +1079,7 @@ SDL_Surface *X11_SetVideoMode(_THIS, SDL_Surface *current,
done:
/* Release the event thread */
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
/* We're done! */
......@@ -1125,7 +1128,7 @@ static void X11_UpdateMouse(_THIS)
/* Lock the event thread, in multi-threading environments */
SDL_Lock_EventThread();
if ( pXQueryPointer(SDL_Display, SDL_Window, &u1, &current_win,
if ( XQueryPointer(SDL_Display, SDL_Window, &u1, &current_win,
&u2, &u2, &x, &y, &mask) ) {
if ( (x >= 0) && (x < SDL_VideoSurface->w) &&
(y >= 0) && (y < SDL_VideoSurface->h) ) {
......@@ -1162,7 +1165,7 @@ static void allocate_nearest(_THIS, SDL_Color *colors,
* XQueryColors sets the flags in the XColor struct, so we use
* that to keep track of which colours are available
*/
pXQueryColors(GFX_Display, SDL_XColorMap, all, 256);
XQueryColors(GFX_Display, SDL_XColorMap, all, 256);
for(i = 0; i < nwant; i++) {
XColor *c;
......@@ -1188,7 +1191,7 @@ static void allocate_nearest(_THIS, SDL_Color *colors,
if(SDL_XPixels[best])
continue; /* already allocated, waste no more time */
c = all + best;
if(pXAllocColor(GFX_Display, SDL_XColorMap, c)) {
if(XAllocColor(GFX_Display, SDL_XColorMap, c)) {
/* got it */
colors[c->pixel].r = c->red >> 8;
colors[c->pixel].g = c->green >> 8;
......@@ -1230,8 +1233,8 @@ int X11_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors)
xcmap[i].blue = (colors[i].b<<8)|colors[i].b;
xcmap[i].flags = (DoRed|DoGreen|DoBlue);
}
pXStoreColors(GFX_Display, SDL_XColorMap, xcmap, ncolors);
pXSync(GFX_Display, False);
XStoreColors(GFX_Display, SDL_XColorMap, xcmap, ncolors);
XSync(GFX_Display, False);
SDL_stack_free(xcmap);
} else {
/*
......@@ -1259,7 +1262,7 @@ int X11_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors)
--SDL_XPixels[pixel];
}
}
pXFreeColors(GFX_Display, SDL_XColorMap, freelist, nfree, 0);
XFreeColors(GFX_Display, SDL_XColorMap, freelist, nfree, 0);
SDL_stack_free(freelist);
want = SDL_stack_alloc(SDL_Color, ncolors);
......@@ -1276,7 +1279,7 @@ int X11_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors)
col.green = want[i].g << 8;
col.blue = want[i].b << 8;
col.flags = DoRed | DoGreen | DoBlue;
if(pXAllocColor(GFX_Display, SDL_XColorMap, &col)) {
if(XAllocColor(GFX_Display, SDL_XColorMap, &col)) {
/* We got the colour, or at least the nearest
the hardware could get. */
colors[col.pixel].r = col.red >> 8;
......@@ -1320,8 +1323,8 @@ int X11_SetGammaRamp(_THIS, Uint16 *ramp)
xcmap[i].blue = ramp[2*256+c];
xcmap[i].flags = (DoRed|DoGreen|DoBlue);
}
pXStoreColors(GFX_Display, SDL_XColorMap, xcmap, ncolors);
pXSync(GFX_Display, False);
XStoreColors(GFX_Display, SDL_XColorMap, xcmap, ncolors);
XSync(GFX_Display, False);
return(0);
}
......@@ -1334,16 +1337,16 @@ void X11_VideoQuit(_THIS)
/* The event thread should be done, so we can touch SDL_Display */
if ( SDL_Display != NULL ) {
/* Flush any delayed updates */
pXSync(GFX_Display, False);
XSync(GFX_Display, False);
/* Close the connection with the IM server */
#ifdef X_HAVE_UTF8_STRING
if (SDL_IC != NULL) {
pXDestroyIC(SDL_IC);
XDestroyIC(SDL_IC);
SDL_IC = NULL;
}
if (SDL_IM != NULL) {
pXCloseIM(SDL_IM);
XCloseIM(SDL_IM);
SDL_IM = NULL;
}
#endif
......@@ -1353,7 +1356,7 @@ void X11_VideoQuit(_THIS)
X11_DestroyWindow(this, this->screen);
X11_FreeVideoModes(this);
if ( SDL_XColorMap != SDL_DisplayColormap ) {
pXFreeColormap(SDL_Display, SDL_XColorMap);
XFreeColormap(SDL_Display, SDL_XColorMap);
}
if ( SDL_iconcolors ) {
unsigned long pixel;
......@@ -1361,7 +1364,7 @@ void X11_VideoQuit(_THIS)
SDL_Screen);
for(pixel = 0; pixel < 256; ++pixel) {
while(SDL_iconcolors[pixel] > 0) {
pXFreeColors(GFX_Display,
XFreeColors(GFX_Display,
dcmap, &pixel, 1, 0);
--SDL_iconcolors[pixel];
}
......@@ -1382,20 +1385,20 @@ void X11_VideoQuit(_THIS)
/* Close the X11 graphics connection */
if ( GFX_Display != NULL ) {
pXCloseDisplay(GFX_Display);
XCloseDisplay(GFX_Display);
GFX_Display = NULL;
}
/* Close the X11 display connection */
pXCloseDisplay(SDL_Display);
XCloseDisplay(SDL_Display);
SDL_Display = NULL;
/* Reset the X11 error handlers */
if ( XIO_handler ) {
pXSetIOErrorHandler(XIO_handler);
XSetIOErrorHandler(XIO_handler);
}
if ( X_handler ) {
pXSetErrorHandler(X_handler);
XSetErrorHandler(X_handler);
}
/* Unload GL library after X11 shuts down */
......
......@@ -116,7 +116,7 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
SDL_iconcolors[i]--;
}
}
pXFreeColors(GFX_Display, dcmap, freelist, nfree, 0);
XFreeColors(GFX_Display, dcmap, freelist, nfree, 0);
}
if(!SDL_iconcolors)
SDL_iconcolors = SDL_malloc(256 * sizeof *SDL_iconcolors);
......@@ -131,7 +131,7 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
c.green = want[i].g << 8;
c.blue = want[i].b << 8;
c.flags = DoRed | DoGreen | DoBlue;
if(pXAllocColor(GFX_Display, dcmap, &c)) {
if(XAllocColor(GFX_Display, dcmap, &c)) {
/* got the colour */
SDL_iconcolors[c.pixel]++;
got[c.pixel] = want[i];
......@@ -145,13 +145,13 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
XColor cols[256];
for(i = 0; i < 256; i++)
cols[i].pixel = i;
pXQueryColors(GFX_Display, dcmap, cols, 256);
XQueryColors(GFX_Display, dcmap, cols, 256);
for(i = 0; i < 256; i++) {
got[i].r = cols[i].red >> 8;
got[i].g = cols[i].green >> 8;
got[i].b = cols[i].blue >> 8;
if(!SDL_iconcolors[i]) {
if(pXAllocColor(GFX_Display, dcmap,
if(XAllocColor(GFX_Display, dcmap,
cols + i)) {
SDL_iconcolors[i] = 1;
} else {
......@@ -184,13 +184,13 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
SDL_memset(LSBmask, 0, masksize);
for(i = 0; i < masksize; i++)
LSBmask[i] = reverse_byte(mask[i]);
mask_pixmap = pXCreatePixmapFromBitmapData(SDL_Display, WMwindow,
mask_pixmap = XCreatePixmapFromBitmapData(SDL_Display, WMwindow,
(char *)LSBmask,
sicon->w, sicon->h,
1L, 0L, 1);
/* Transfer the image to an X11 pixmap */
icon_image = pXCreateImage(SDL_Display,
icon_image = XCreateImage(SDL_Display,
DefaultVisual(SDL_Display, SDL_Screen),
DefaultDepth(SDL_Display, SDL_Screen),
ZPixmap, 0, sicon->pixels,
......@@ -198,13 +198,13 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
32, 0);
icon_image->byte_order = (SDL_BYTEORDER == SDL_BIG_ENDIAN)
? MSBFirst : LSBFirst;
icon_pixmap = pXCreatePixmap(SDL_Display, SDL_Root, sicon->w, sicon->h,
icon_pixmap = XCreatePixmap(SDL_Display, SDL_Root, sicon->w, sicon->h,
DefaultDepth(SDL_Display, SDL_Screen));
gc = pXCreateGC(SDL_Display, icon_pixmap, 0, &GCvalues);
pXPutImage(SDL_Display, icon_pixmap, gc, icon_image,
gc = XCreateGC(SDL_Display, icon_pixmap, 0, &GCvalues);
XPutImage(SDL_Display, icon_pixmap, gc, icon_image,
0, 0, 0, 0, sicon->w, sicon->h);
pXFreeGC(SDL_Display, gc);
pXDestroyImage(icon_image);
XFreeGC(SDL_Display, gc);
XDestroyImage(icon_image);
SDL_free(LSBmask);
sicon->pixels = NULL;
......@@ -213,17 +213,17 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
it screws up others. The default is only to use a pixmap. */
p = SDL_getenv("SDL_VIDEO_X11_ICONWIN");
if(p && *p) {
icon_window = pXCreateSimpleWindow(SDL_Display, SDL_Root,
icon_window = XCreateSimpleWindow(SDL_Display, SDL_Root,
0, 0, sicon->w, sicon->h, 0,
CopyFromParent,
CopyFromParent);
pXSetWindowBackgroundPixmap(SDL_Display, icon_window,
XSetWindowBackgroundPixmap(SDL_Display, icon_window,
icon_pixmap);
pXClearWindow(SDL_Display, icon_window);
XClearWindow(SDL_Display, icon_window);
}
/* Set the window icon to the icon pixmap (and icon window) */
wmhints = pXAllocWMHints();
wmhints = XAllocWMHints();
wmhints->flags = (IconPixmapHint | IconMaskHint);
wmhints->icon_pixmap = icon_pixmap;
wmhints->icon_mask = mask_pixmap;
......@@ -231,9 +231,9 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
wmhints->flags |= IconWindowHint;
wmhints->icon_window = icon_window;
}
pXSetWMHints(SDL_Display, WMwindow, wmhints);
pXFree(wmhints);
pXSync(SDL_Display, False);
XSetWMHints(SDL_Display, WMwindow, wmhints);
XFree(wmhints);
XSync(SDL_Display, False);
done:
SDL_Unlock_EventThread();
......@@ -250,8 +250,10 @@ void X11_SetCaption(_THIS, const char *title, const char *icon)
Atom _NET_WM_ICON_NAME;
/* Look up some useful Atoms */
_NET_WM_NAME = pXInternAtom(SDL_Display, "_NET_WM_NAME", False);
_NET_WM_ICON_NAME = pXInternAtom(SDL_Display, "_NET_WM_ICON_NAME", False);
if (SDL_X11_HAVE_UTF8) {
_NET_WM_NAME = XInternAtom(SDL_Display, "_NET_WM_NAME", False);
_NET_WM_ICON_NAME = XInternAtom(SDL_Display, "_NET_WM_ICON_NAME", False);
}
#endif
/* Lock the event thread, in multi-threading environments */
......@@ -263,18 +265,20 @@ void X11_SetCaption(_THIS, const char *title, const char *icon)
SDL_OutOfMemory();
return;
}
status = pXStringListToTextProperty(&title_latin1, 1, &titleprop);
status = XStringListToTextProperty(&title_latin1, 1, &titleprop);
SDL_free(title_latin1);
if ( status ) {
pXSetTextProperty(SDL_Display, WMwindow, &titleprop, XA_WM_NAME);
pXFree(titleprop.value);
XSetTextProperty(SDL_Display, WMwindow, &titleprop, XA_WM_NAME);
XFree(titleprop.value);
}
#ifdef X_HAVE_UTF8_STRING
status = pXutf8TextListToTextProperty(SDL_Display,
(char **)&title, 1, XUTF8StringStyle, &titleprop);
if ( status == Success ) {
pXSetTextProperty(SDL_Display, WMwindow, &titleprop, _NET_WM_NAME);
pXFree(titleprop.value);
if (SDL_X11_HAVE_UTF8) {
status = Xutf8TextListToTextProperty(SDL_Display,
(char **)&title, 1, XUTF8StringStyle, &titleprop);
if ( status == Success ) {
XSetTextProperty(SDL_Display, WMwindow, &titleprop, _NET_WM_NAME);
XFree(titleprop.value);
}
}
#endif
}
......@@ -284,22 +288,24 @@ void X11_SetCaption(_THIS, const char *title, const char *icon)
SDL_OutOfMemory();
return;
}
status = pXStringListToTextProperty(&icon_latin1, 1, &iconprop);
status = XStringListToTextProperty(&icon_latin1, 1, &iconprop);
SDL_free(icon_latin1);
if ( status ) {
pXSetTextProperty(SDL_Display, WMwindow, &iconprop, XA_WM_ICON_NAME);
pXFree(iconprop.value);
XSetTextProperty(SDL_Display, WMwindow, &iconprop, XA_WM_ICON_NAME);
XFree(iconprop.value);
}
#ifdef X_HAVE_UTF8_STRING
status = pXutf8TextListToTextProperty(SDL_Display,
(char **)&icon, 1, XUTF8StringStyle, &iconprop);
if ( status == Success ) {
pXSetTextProperty(SDL_Display, WMwindow, &iconprop, _NET_WM_ICON_NAME);
pXFree(iconprop.value);
if (SDL_X11_HAVE_UTF8) {
status = Xutf8TextListToTextProperty(SDL_Display,
(char **)&icon, 1, XUTF8StringStyle, &iconprop);
if ( status == Success ) {
XSetTextProperty(SDL_Display, WMwindow, &iconprop, _NET_WM_ICON_NAME);
XFree(iconprop.value);
}
}
#endif
}
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
}
......@@ -310,8 +316,8 @@ int X11_IconifyWindow(_THIS)
int result;
SDL_Lock_EventThread();
result = pXIconifyWindow(SDL_Display, WMwindow, SDL_Screen);
pXSync(SDL_Display, False);
result = XIconifyWindow(SDL_Display, WMwindow, SDL_Screen);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
return(result);
}
......@@ -327,12 +333,12 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS, SDL_GrabMode mode)
return(mode); /* Will be set later on mode switch */
}
if ( mode == SDL_GRAB_OFF ) {
pXUngrabPointer(SDL_Display, CurrentTime);
pXUngrabKeyboard(SDL_Display, CurrentTime);
XUngrabPointer(SDL_Display, CurrentTime);
XUngrabKeyboard(SDL_Display, CurrentTime);
} else {
if ( this->screen->flags & SDL_FULLSCREEN ) {
/* Unbind the mouse from the fullscreen window */
pXUngrabPointer(SDL_Display, CurrentTime);
XUngrabPointer(SDL_Display, CurrentTime);
}
/* Try to grab the mouse */
#if 0 /* We'll wait here until we actually grab, otherwise behavior undefined */
......@@ -340,7 +346,7 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS, SDL_GrabMode mode)
#else
while ( 1 ) {
#endif
result = pXGrabPointer(SDL_Display, SDL_Window, True, 0,
result = XGrabPointer(SDL_Display, SDL_Window, True, 0,
GrabModeAsync, GrabModeAsync,
SDL_Window, None, CurrentTime);
if ( result == GrabSuccess ) {
......@@ -352,17 +358,17 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS, SDL_GrabMode mode)
/* Uh, oh, what do we do here? */ ;
}
/* Now grab the keyboard */
pXGrabKeyboard(SDL_Display, WMwindow, True,
XGrabKeyboard(SDL_Display, WMwindow, True,
GrabModeAsync, GrabModeAsync, CurrentTime);
/* Raise the window if we grab the mouse */
if ( !(this->screen->flags & SDL_FULLSCREEN) )
pXRaiseWindow(SDL_Display, WMwindow);
XRaiseWindow(SDL_Display, WMwindow);
/* Make sure we register input focus */
SDL_PrivateAppActive(1, SDL_APPINPUTFOCUS);
}
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
return(mode);
}
......@@ -387,7 +393,7 @@ static void unlock_display(void)
{
/* Make sure any X11 transactions are completed */
SDL_VideoDevice *this = current_video;
pXSync(SDL_Display, False);
XSync(SDL_Display, False);
SDL_Unlock_EventThread();
}
int X11_GetWMInfo(_THIS, SDL_SysWMinfo *info)
......
......@@ -151,7 +151,7 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
}
}
if ( formats ) {
pXFree(formats);
XFree(formats);
}
}
}
......@@ -200,21 +200,21 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
unsigned int i;
SDL_NAME(XvSelectPortNotify)(GFX_Display, xv_port, True);
X_handler = pXSetErrorHandler(xv_errhandler);
X_handler = XSetErrorHandler(xv_errhandler);
for ( i=0; i < sizeof(attr)/(sizeof attr[0]); ++i ) {
Atom a;
xv_error = False;
a = pXInternAtom(GFX_Display, attr[i], True);
a = XInternAtom(GFX_Display, attr[i], True);
if ( a != None ) {
SDL_NAME(XvSetPortAttribute)(GFX_Display, xv_port, a, 1);
pXSync(GFX_Display, True);
XSync(GFX_Display, True);
if ( ! xv_error ) {
break;
}
}
}
pXSetErrorHandler(X_handler);
XSetErrorHandler(X_handler);
SDL_NAME(XvSelectPortNotify)(GFX_Display, xv_port, False);
}
......@@ -254,7 +254,7 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
#ifdef PITCH_WORKAROUND
if ( hwdata->image != NULL && hwdata->image->pitches[0] != (width*bpp) ) {
/* Ajust overlay width according to pitch */
pXFree(hwdata->image);
XFree(hwdata->image);
width = hwdata->image->pitches[0] / bpp;
hwdata->image = SDL_NAME(XvShmCreateImage)(GFX_Display, xv_port, format,
0, width, height, yuvshm);
......@@ -269,10 +269,10 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
yuvshm->readOnly = False;
if ( yuvshm->shmaddr != (char *)-1 ) {
shm_error = False;
X_handler = pXSetErrorHandler(shm_errhandler);
pXShmAttach(GFX_Display, yuvshm);
pXSync(GFX_Display, True);
pXSetErrorHandler(X_handler);
X_handler = XSetErrorHandler(shm_errhandler);
XShmAttach(GFX_Display, yuvshm);
XSync(GFX_Display, True);
XSetErrorHandler(X_handler);
if ( shm_error )
shmdt(yuvshm->shmaddr);
} else {
......@@ -283,7 +283,7 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
shm_error = True;
}
if ( shm_error ) {
pXFree(hwdata->image);
XFree(hwdata->image);
hwdata->yuv_use_mitshm = 0;
} else {
hwdata->image->data = yuvshm->shmaddr;
......@@ -298,7 +298,7 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
#ifdef PITCH_WORKAROUND
if ( hwdata->image != NULL && hwdata->image->pitches[0] != (width*bpp) ) {
/* Ajust overlay width according to pitch */
pXFree(hwdata->image);
XFree(hwdata->image);
width = hwdata->image->pitches[0] / bpp;
hwdata->image = SDL_NAME(XvCreateImage)(GFX_Display, xv_port, format,
0, width, height);
......@@ -372,7 +372,7 @@ int X11_DisplayYUVOverlay(_THIS, SDL_Overlay *overlay, SDL_Rect *dstrect)
hwdata->image, 0, 0, overlay->w, overlay->h,
dstrect->x, dstrect->y, dstrect->w, dstrect->h);
}
pXSync(GFX_Display, False);
XSync(GFX_Display, False);
return(0);
}
......@@ -385,12 +385,12 @@ void X11_FreeYUVOverlay(_THIS, SDL_Overlay *overlay)
SDL_NAME(XvUngrabPort)(GFX_Display, hwdata->port, CurrentTime);
#ifndef NO_SHARED_MEMORY
if ( hwdata->yuv_use_mitshm ) {
pXShmDetach(GFX_Display, &hwdata->yuvshm);
XShmDetach(GFX_Display, &hwdata->yuvshm);
shmdt(hwdata->yuvshm.shmaddr);
}
#endif
if ( hwdata->image ) {
pXFree(hwdata->image);
XFree(hwdata->image);
}
SDL_free(hwdata);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment