diff options
Diffstat (limited to 'apps/plugins/sdl/src/video/Xext/XME/xme.c')
-rw-r--r-- | apps/plugins/sdl/src/video/Xext/XME/xme.c | 410 |
1 files changed, 0 insertions, 410 deletions
diff --git a/apps/plugins/sdl/src/video/Xext/XME/xme.c b/apps/plugins/sdl/src/video/Xext/XME/xme.c deleted file mode 100644 index 2cead35ada..0000000000 --- a/apps/plugins/sdl/src/video/Xext/XME/xme.c +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Copyright 1993-2001 by Xi Graphics, Inc. - * All Rights Reserved. - * - * Please see the LICENSE file accompanying this distribution for licensing - * information. - * - * Please send any bug fixes and modifications to src@xig.com. - * - * $XiGId: xme.c,v 1.2 2001/11/30 21:56:59 jon Exp $ - * - */ - -#define NEED_EVENTS -#define NEED_REPLIES - -/* Apparently some X11 systems can't include this multiple times... */ -#ifndef SDL_INCLUDED_XLIBINT_H -#define SDL_INCLUDED_XLIBINT_H 1 -#include <X11/Xlibint.h> -#endif - -#include <X11/Xthreads.h> -#include <X11/Xmd.h> -#include <X11/Xproto.h> -#include "../extensions/Xext.h" -#include "../extensions/extutil.h" - -/*****************************************************************************/ - - -#define XIGMISC_PROTOCOL_NAME "XiG-SUNDRY-NONSTANDARD" -#define XIGMISC_MAJOR_VERSION 2 -#define XIGMISC_MINOR_VERSION 0 - -#define XiGMiscNumberEvents 0 - -#define X_XiGMiscQueryVersion 0 -#define X_XiGMiscQueryViews 1 -#define X_XiGMiscQueryResolutions 2 -#define X_XiGMiscChangeResolution 3 -#define X_XiGMiscFullScreen 4 - -#define sz_xXiGMiscQueryVersionReq 8 -#define sz_xXiGMiscQueryViewsReq 8 -#define sz_xXiGMiscQueryResolutionsReq 8 -#define sz_xXiGMiscChangeResolutionReq 16 -#define sz_xXiGMiscFullScreenReq 16 - -#define sz_xXiGMiscQueryVersionReply 32 -#define sz_xXiGMiscQueryViewsReply 32 -#define sz_xXiGMiscQueryResolutionsReply 32 -#define sz_xXiGMiscQueryFullScreenReply 32 - -/*******************************************************************/ - -typedef struct { - CARD8 reqType; /* always codes->major_opcode */ - CARD8 xigmiscReqType; /* always X_XiGMiscQueryVersion */ - CARD16 length; - CARD16 major; - CARD16 minor; -} xXiGMiscQueryVersionReq; - -typedef struct { - CARD8 reqType; /* always codes->major_opcode */ - CARD8 xigmiscReqType; /* always X_XiGMiscQueryViews */ - CARD16 length; - CARD8 screen; - CARD8 pad0; - CARD16 pad1; -} xXiGMiscQueryViewsReq; - -typedef struct { - CARD8 reqType; /* always codes->major_opcode */ - CARD8 xigmiscReqType; /* always X_XiGMiscQueryResolutions */ - CARD16 length; - CARD8 screen; - CARD8 view; - CARD16 pad0; -} xXiGMiscQueryResolutionsReq; - -typedef struct { - CARD8 reqType; /* always codes->major_opcode */ - CARD8 xigmiscReqType; /* always X_XiGMiscChangeResolution */ - CARD16 length; - CARD8 screen; - CARD8 view; - CARD16 pad0; - CARD16 width; - CARD16 height; - INT32 refresh; -} xXiGMiscChangeResolutionReq; - -typedef struct { - CARD8 reqType; /* always codes->major_opcode */ - CARD8 xigmiscReqType; /* always X_XiGMiscFullScreen */ - CARD16 length; - CARD8 screen; - CARD8 pad0; - CARD16 pad1; - CARD32 window; - CARD32 cmap; -} xXiGMiscFullScreenReq; - -/*******************************************************************/ - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 pad0; - CARD16 sequenceNumber; - CARD32 length; - CARD16 major; - CARD16 minor; - CARD32 pad1; - CARD32 pad2; - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; -} xXiGMiscQueryVersionReply; - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 pad0; - CARD16 sequenceNumber; - CARD32 length; - CARD32 nviews; - CARD32 pad1; - CARD32 pad2; - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; -} xXiGMiscQueryViewsReply; - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 pad0; - CARD16 sequenceNumber; - CARD32 length; - CARD16 active; - CARD16 nresolutions; - CARD32 pad1; - CARD32 pad2; - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; -} xXiGMiscQueryResolutionsReply; - -typedef struct { - BYTE type; /* X_Reply */ - BOOL success; - CARD16 sequenceNumber; - CARD32 length; - CARD32 pad1; - CARD32 pad2; - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; - CARD32 pad6; -} xXiGMiscFullScreenReply; - -/*******************************************************************/ - -typedef struct { - INT16 x; - INT16 y; - CARD16 w; - CARD16 h; -} XiGMiscViewInfo; - -typedef struct { - CARD16 width; - CARD16 height; - INT32 refresh; -} XiGMiscResolutionInfo; - -/*****************************************************************************/ - -static XExtensionInfo *xigmisc_info = NULL; -static char *xigmisc_extension_name = XIGMISC_PROTOCOL_NAME; - -#define XiGMiscCheckExtension(dpy,i,val) \ - XextCheckExtension (dpy, i, xigmisc_extension_name, val) -#define XiGMiscSimpleCheckExtension(dpy,i) \ - XextSimpleCheckExtension (dpy, i, xigmisc_extension_name) - -#if defined(__STDC__) && !defined(UNIXCPP) -#define XiGMiscGetReq(name,req,info) GetReq (name, req); \ - req->reqType = info->codes->major_opcode; \ - req->xigmiscReqType = X_##name; - -#define XiGMiscGetReqExtra(name,n,req,info) GetReqExtra (name, n, req); \ - req->reqType = info->codes->major_opcode; \ - req->xigmicReqType = X_##name; -#else -#define XiGMiscGetReq(name,req,info) GetReq (name, req); \ - req->reqType = info->codes->major_opcode; \ - req->xigmiscReqType = X_/**/name; -#define XiGMiscGetReqExtra(name,n,req,info) GetReqExtra (name, n, req); \ - req->reqType = info->codes->major_opcode; \ - req->xigmiscReqType = X_/**/name; -#endif - - - -/* - * find_display - locate the display info block - */ -static int XiGMiscCloseDisplay(); - -static XExtensionHooks xigmisc_extension_hooks = { - NULL, /* create_gc */ - NULL, /* copy_gc */ - NULL, /* flush_gc */ - NULL, /* free_gc */ - NULL, /* create_font */ - NULL, /* free_font */ - XiGMiscCloseDisplay, /* close_display */ - NULL, /* wire_to_event */ - NULL, /* event_to_wire */ - NULL, /* error */ - NULL, /* error_string */ -}; - - -static XEXT_GENERATE_CLOSE_DISPLAY (XiGMiscCloseDisplay, xigmisc_info) - -static XEXT_GENERATE_FIND_DISPLAY (XiGMiscFindDisplay, xigmisc_info, - xigmisc_extension_name, - &xigmisc_extension_hooks, XiGMiscNumberEvents, NULL) - - -/*****************************************************************************/ - -Bool XiGMiscQueryVersion(Display *dpy, int *major, int *minor) -{ - int opcode, event, error; - xXiGMiscQueryVersionReq *req; - xXiGMiscQueryVersionReply rep; - XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); - - if (!XQueryExtension(dpy, XIGMISC_PROTOCOL_NAME, &opcode, &event, &error)) - return xFalse; - - XiGMiscCheckExtension(dpy, info, xFalse); - - LockDisplay (dpy); - XiGMiscGetReq (XiGMiscQueryVersion, req, info); - - req->major = XIGMISC_MAJOR_VERSION; - req->minor = XIGMISC_MINOR_VERSION; - - if (!_XReply (dpy, (xReply *)&rep, 0, xTrue)) { - UnlockDisplay(dpy); - SyncHandle(); - return xFalse; - } - - *major = rep.major; - *minor = rep.minor; - UnlockDisplay(dpy); - SyncHandle(); - - return xTrue; -} - -int XiGMiscQueryViews(Display *dpy, int screen, XiGMiscViewInfo **pviews) -{ - int n, size; - XiGMiscViewInfo *views; - xXiGMiscQueryViewsReq *req; - xXiGMiscQueryViewsReply rep; - XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); - XiGMiscCheckExtension(dpy, info, 0); - - LockDisplay (dpy); - XiGMiscGetReq (XiGMiscQueryViews, req, info); - req->screen = screen; - - if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - return 0; - } - - n = rep.nviews; - - if (n > 0) { - size = sizeof(XiGMiscViewInfo) * n; - views = (XiGMiscViewInfo*)Xmalloc(size); - if (!views) { - _XEatData(dpy, (unsigned long)size); - UnlockDisplay(dpy); - SyncHandle(); - return 0; - } - - _XReadPad(dpy, (void*)views, size); - - *pviews = views; - } - - UnlockDisplay(dpy); - SyncHandle(); - - return n; -} - -int XiGMiscQueryResolutions(Display *dpy, int screen, int view, int *pactive, XiGMiscResolutionInfo **presolutions) -{ - int n, size; - XiGMiscResolutionInfo *resolutions; - xXiGMiscQueryResolutionsReq *req; - xXiGMiscQueryResolutionsReply rep; - XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); - XiGMiscCheckExtension(dpy, info, 0); - - LockDisplay (dpy); - XiGMiscGetReq (XiGMiscQueryResolutions, req, info); - req->screen = screen; - req->view = view; - - if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - return 0; - } - - n = rep.nresolutions; - - if (n > 0) { - size = sizeof(XiGMiscResolutionInfo) * n; - resolutions = (XiGMiscResolutionInfo*)Xmalloc(size); - if (!resolutions) { - _XEatData(dpy, (unsigned long)size); - UnlockDisplay(dpy); - SyncHandle(); - return 0; - } - - _XReadPad(dpy, (void*)resolutions, size); - - *presolutions = resolutions; - *pactive = rep.active; - } - - UnlockDisplay(dpy); - SyncHandle(); - - return n; -} - -void XiGMiscChangeResolution(Display *dpy, int screen, int view, int width, int height, int refresh) -{ - xXiGMiscChangeResolutionReq *req; - XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); - - XiGMiscSimpleCheckExtension(dpy, info); - - LockDisplay (dpy); - XiGMiscGetReq (XiGMiscChangeResolution, req, info); - req->screen = screen; - req->view = view; - req->width = width; - req->height = height; - req->refresh = refresh; - - UnlockDisplay(dpy); - SyncHandle(); -} - - -Bool XiGMiscFullScreen(Display *dpy, int screen, XID window, XID cmap) -{ - xXiGMiscFullScreenReq *req; - xXiGMiscFullScreenReply rep; - XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); - - XiGMiscCheckExtension(dpy, info, xFalse); - - LockDisplay (dpy); - XiGMiscGetReq (XiGMiscFullScreen, req, info); - req->screen = screen; - req->pad0 = 0; - req->pad1 = 0; - req->window = window; - req->cmap = cmap; - - if (!_XReply (dpy, (xReply *)&rep, 0, xTrue)) { - UnlockDisplay(dpy); - SyncHandle(); - return xFalse; - } - - UnlockDisplay(dpy); - SyncHandle(); - - return (rep.success ? xTrue : xFalse); -} - - -/* SDL addition from Ryan: free memory used by xme. */ -void XiGMiscDestroy(void) -{ - if (xigmisc_info) { - XextDestroyExtension(xigmisc_info); - xigmisc_info = NULL; - } -} - |