aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/apple/applewm.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/apple/applewm.c')
-rw-r--r--nx-X11/lib/apple/applewm.c530
1 files changed, 0 insertions, 530 deletions
diff --git a/nx-X11/lib/apple/applewm.c b/nx-X11/lib/apple/applewm.c
deleted file mode 100644
index c627762fb..000000000
--- a/nx-X11/lib/apple/applewm.c
+++ /dev/null
@@ -1,530 +0,0 @@
-/* $XFree86: xc/lib/GL/dri/XF86dri.c,v 1.12 2001/08/27 17:40:57 dawes Exp $ */
-/**************************************************************************
-
-Copyright (c) 2002 Apple Computer, Inc.
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sub license, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial portions
-of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-**************************************************************************/
-
-/* THIS IS NOT AN X CONSORTIUM STANDARD */
-
-#define NEED_EVENTS
-#define NEED_REPLIES
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlibint.h>
-#include <X11/extensions/applewmstr.h>
-#include <X11/extensions/Xext.h>
-#include <X11/extensions/extutil.h>
-#include <stdio.h>
-
-static XExtensionInfo _applewm_info_data;
-static XExtensionInfo *applewm_info = &_applewm_info_data;
-static char *applewm_extension_name = APPLEWMNAME;
-
-#define AppleWMCheckExtension(dpy,i,val) \
- XextCheckExtension (dpy, i, applewm_extension_name, val)
-
-/*****************************************************************************
- * *
- * private utility routines *
- * *
- *****************************************************************************/
-
-static int close_display(Display *dpy, XExtCodes *extCodes);
-static Bool wire_to_event();
-static Status event_to_wire();
-
-static /* const */ XExtensionHooks applewm_extension_hooks = {
- NULL, /* create_gc */
- NULL, /* copy_gc */
- NULL, /* flush_gc */
- NULL, /* free_gc */
- NULL, /* create_font */
- NULL, /* free_font */
- close_display, /* close_display */
- wire_to_event, /* wire_to_event */
- event_to_wire, /* event_to_wire */
- NULL, /* error */
- NULL, /* error_string */
-};
-
-static XEXT_GENERATE_FIND_DISPLAY (find_display, applewm_info,
- applewm_extension_name,
- &applewm_extension_hooks,
- AppleWMNumberEvents, NULL)
-
-static XEXT_GENERATE_CLOSE_DISPLAY (close_display, applewm_info)
-
-static Bool wire_to_event (dpy, re, event)
- Display *dpy;
- XEvent *re;
- xEvent *event;
-{
- XExtDisplayInfo *info = find_display (dpy);
- XAppleWMNotifyEvent *se;
- xAppleWMNotifyEvent *sevent;
-
- AppleWMCheckExtension (dpy, info, False);
-
- switch ((event->u.u.type & 0x7f) - info->codes->first_event) {
- case AppleWMControllerNotify:
- case AppleWMActivationNotify:
- case AppleWMPasteboardNotify:
- se = (XAppleWMNotifyEvent *) re;
- sevent = (xAppleWMNotifyEvent *) event;
- se->type = sevent->type & 0x7f;
- se->serial = _XSetLastRequestRead(dpy,(xGenericReply *) event);
- se->send_event = (sevent->type & 0x80) != 0;
- se->display = dpy;
- se->window = 0;
- se->time = sevent->time;
- se->kind = sevent->kind;
- se->arg = sevent->arg;
- return True;
- }
- return False;
-}
-
-static Status event_to_wire (dpy, re, event)
- Display *dpy;
- XEvent *re;
- xEvent *event;
-{
- XExtDisplayInfo *info = find_display (dpy);
- XAppleWMNotifyEvent *se;
- xAppleWMNotifyEvent *sevent;
-
- AppleWMCheckExtension (dpy, info, False);
-
- switch ((re->type & 0x7f) - info->codes->first_event) {
- case AppleWMControllerNotify:
- case AppleWMActivationNotify:
- case AppleWMPasteboardNotify:
- se = (XAppleWMNotifyEvent *) re;
- sevent = (xAppleWMNotifyEvent *) event;
- sevent->type = se->type | (se->send_event ? 0x80 : 0);
- sevent->sequenceNumber = se->serial & 0xffff;
- sevent->kind = se->kind;
- sevent->arg = se->arg;
- sevent->time = se->time;
- return 1;
- }
- return 0;
-}
-
-/*****************************************************************************
- * *
- * public Apple-WM Extension routines *
- * *
- *****************************************************************************/
-
-#if 0
-#include <stdio.h>
-#define TRACE(msg) fprintf(stderr, "AppleWM%s\n", msg);
-#else
-#define TRACE(msg)
-#endif
-
-
-Bool XAppleWMQueryExtension (dpy, event_basep, error_basep)
- Display *dpy;
- int *event_basep, *error_basep;
-{
- XExtDisplayInfo *info = find_display (dpy);
-
- TRACE("QueryExtension...");
- if (XextHasExtension(info)) {
- *event_basep = info->codes->first_event;
- *error_basep = info->codes->first_error;
- TRACE("QueryExtension... return True");
- return True;
- } else {
- TRACE("QueryExtension... return False");
- return False;
- }
-}
-
-Bool XAppleWMQueryVersion(dpy, majorVersion, minorVersion, patchVersion)
- Display* dpy;
- int* majorVersion;
- int* minorVersion;
- int* patchVersion;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMQueryVersionReply rep;
- xAppleWMQueryVersionReq *req;
-
- TRACE("QueryVersion...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMQueryVersion, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMQueryVersion;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("QueryVersion... return False");
- return False;
- }
- *majorVersion = rep.majorVersion;
- *minorVersion = rep.minorVersion;
- *patchVersion = rep.patchVersion;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("QueryVersion... return True");
- return True;
-}
-
-Bool XAppleWMDisableUpdate(dpy, screen)
- Display* dpy;
- int screen;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMDisableUpdateReq *req;
-
- TRACE("DisableUpdate...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMDisableUpdate, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMDisableUpdate;
- req->screen = screen;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("DisableUpdate... return True");
- return True;
-}
-
-Bool XAppleWMReenableUpdate(dpy, screen)
- Display* dpy;
- int screen;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMReenableUpdateReq *req;
-
- TRACE("ReenableUpdate...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMReenableUpdate, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMReenableUpdate;
- req->screen = screen;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("ReenableUpdate... return True");
- return True;
-}
-
-Bool XAppleWMSelectInput(dpy, mask)
- Display* dpy;
- unsigned long mask;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMSelectInputReq *req;
-
- TRACE("SelectInput...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMSelectInput, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMSelectInput;
- req->mask = mask;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("SetlectInput... return True");
- return True;
-}
-
-Bool XAppleWMSetWindowMenuWithShortcuts(dpy, nitems, items, shortcuts)
- Display* dpy;
- int nitems;
- const char **items;
- const char *shortcuts;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMSetWindowMenuReq *req;
- int i, total_length, len;
- char *buf, *ptr;
-
- TRACE("SetWindowMenu...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMSetWindowMenu, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMSetWindowMenu;
- req->nitems = nitems;
-
- total_length = 0;
- for (i = 0; i < nitems; i++)
- total_length += strlen (items[i]) + 2;
-
- ptr = buf = alloca (total_length);
- for (i = 0; i < nitems; i++)
- {
- len = strlen (items[i]);
- *ptr++ = shortcuts ? shortcuts[i] : 0;
- memcpy (ptr, items[i], len);
- ptr[len] = 0;
- ptr += len + 1;
- }
-
- req->length += (total_length + 3) >> 2;
- Data (dpy, buf, total_length);
-
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("SetlectInput... return True");
- return True;
-}
-
-Bool XAppleWMSetWindowMenu(dpy, nitems, items)
- Display* dpy;
- int nitems;
- const char **items;
-{
- return XAppleWMSetWindowMenuWithShortcuts (dpy, nitems, items, NULL);
-}
-
-Bool XAppleWMSetWindowMenuCheck(dpy, idx)
- Display* dpy;
- int idx;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMSetWindowMenuCheckReq *req;
-
- TRACE("SetWindowMenuCheck...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMSetWindowMenuCheck, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMSetWindowMenuCheck;
- req->index = idx;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("SetWindowMenuCheck... return True");
- return True;
-}
-
-Bool XAppleWMSetFrontProcess(dpy)
- Display* dpy;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMSetFrontProcessReq *req;
-
- TRACE("SetFrontProcess...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMSetFrontProcess, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMSetFrontProcess;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("SetFrontProcess... return True");
- return True;
-}
-
-Bool XAppleWMSetWindowLevel(dpy, id, level)
- Display* dpy;
- Window id;
- int level;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMSetWindowLevelReq *req;
-
- TRACE("SetWindowLevel...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMSetWindowLevel, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMSetWindowLevel;
- req->window = id;
- req->level = level;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("SetWindowLevel... return True");
- return True;
-}
-
-Bool XAppleWMSetCanQuit(dpy, state)
- Display* dpy;
- Bool state;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMSetCanQuitReq *req;
-
- TRACE("SetCanQuit...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMSetCanQuit, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMSetCanQuit;
- req->state = state;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("SetCanQuit... return True");
- return True;
-}
-
-Bool XAppleWMFrameGetRect(dpy, frame_class, frame_rect,
- ix, iy, iw, ih, ox, oy, ow, oh, rx, ry, rw, rh)
- Display* dpy;
- unsigned int frame_class, frame_rect;
- short ix, iy, iw, ih;
- short ox, oy, ow, oh;
- short *rx, *ry, *rw, *rh;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMFrameGetRectReply rep;
- xAppleWMFrameGetRectReq *req;
-
- TRACE("FrameGetRect...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMFrameGetRect, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMFrameGetRect;
- req->frame_class = frame_class;
- req->frame_rect = frame_rect;
- req->ix = ix;
- req->iy = iy;
- req->iw = iw;
- req->ih = ih;
- req->ox = ox;
- req->oy = oy;
- req->ow = ow;
- req->oh = oh;
- rep.x = rep.y = rep.w = rep.h = 0;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("FrameGetRect... return False");
- return False;
- }
- *rx = rep.x; *ry = rep.y;
- *rw = rep.w; *rh = rep.h;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("FrameGetRect... return True");
- return True;
-}
-
-unsigned int XAppleWMFrameHitTest(dpy, frame_class, px, py,
- ix, iy, iw, ih, ox, oy, ow, oh)
- Display* dpy;
- unsigned int frame_class;
- short px, py;
- short ix, iy, iw, ih;
- short ox, oy, ow, oh;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMFrameHitTestReply rep;
- xAppleWMFrameHitTestReq *req;
-
- TRACE("FrameHitTest...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMFrameHitTest, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMFrameHitTest;
- req->frame_class = frame_class;
- req->px = px;
- req->py = py;
- req->ix = ix;
- req->iy = iy;
- req->iw = iw;
- req->ih = ih;
- req->ox = ox;
- req->oy = oy;
- req->ow = ow;
- req->oh = oh;
- rep.ret = 0;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("FrameHitTest... return False");
- return False;
- }
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("FrameHiTest... return True");
- return rep.ret;
-}
-
-Bool XAppleWMFrameDraw(dpy, screen, window,
- frame_class, frame_attr,
- ix, iy, iw, ih, ox, oy, ow, oh,
- title_length, title_bytes)
- Display* dpy;
- int screen;
- Window window;
- unsigned int frame_class, frame_attr;
- short ix, iy, iw, ih;
- short ox, oy, ow, oh;
- unsigned int title_length;
- const unsigned char *title_bytes;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xAppleWMFrameDrawReq *req;
-
- TRACE("FrameDraw...");
- AppleWMCheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(AppleWMFrameDraw, req);
- req->reqType = info->codes->major_opcode;
- req->wmReqType = X_AppleWMFrameDraw;
- req->screen = screen;
- req->window = window;
- req->frame_class = frame_class;
- req->frame_attr = frame_attr;
- req->ix = ix;
- req->iy = iy;
- req->iw = iw;
- req->ih = ih;
- req->ox = ox;
- req->oy = oy;
- req->ow = ow;
- req->oh = oh;
- req->title_length = title_length;
-
- req->length += (title_length + 3)>>2;
- Data (dpy, title_bytes, title_length);
-
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("FrameDraw... return True");
- return True;
-}