diff options
Diffstat (limited to 'nx-X11/lib/windows')
-rw-r--r-- | nx-X11/lib/windows/Imakefile | 34 | ||||
-rwxr-xr-x | nx-X11/lib/windows/WindowsWM-def.cpp | 13 | ||||
-rw-r--r-- | nx-X11/lib/windows/WindowsWM.man | 340 | ||||
-rwxr-xr-x | nx-X11/lib/windows/windowswm.c | 386 | ||||
-rwxr-xr-x | nx-X11/lib/windows/windowswm.h | 195 | ||||
-rwxr-xr-x | nx-X11/lib/windows/windowswmstr.h | 169 |
6 files changed, 0 insertions, 1137 deletions
diff --git a/nx-X11/lib/windows/Imakefile b/nx-X11/lib/windows/Imakefile deleted file mode 100644 index 84e456ba6..000000000 --- a/nx-X11/lib/windows/Imakefile +++ /dev/null @@ -1,34 +0,0 @@ -#define DoNormalLib NormalLibWindowsWM -#define DoSharedLib SharedLibWindowsWM -#define DoDebugLib DebugLibWindowsWM -#define DoProfileLib ProfileLibWindowsWM -#define LibName WindowsWM -#define SoRev SOWINDOWSWMREV -#define IncSubdir X11 -#define IncSubSubdir extensions - -#include <Threads.tmpl> - -#ifdef SharedWindowsWMReqs -REQUIREDLIBS = SharedWindowsWMReqs -#endif - -#if Malloc0ReturnsNull -ALLOC_DEFINES = -DMALLOC_0_RETURNS_NULL -#endif - - DEFINES = $(ALLOC_DEFINES) - INCLUDES = -I$(XLIBSRC) -I$(EXTINCSRC) - SRCS = windowswm.c - OBJS = windowswm.o - LINTLIBS = $(LINTXLIB) - -HEADERS = windowswm.h windowswmstr.h - -#include <Library.tmpl> - -MANSUFFIX = $(LIBMANSUFFIX) - -InstallManPage(WindowsWM,$(LIBMANDIR)) - -DependTarget() diff --git a/nx-X11/lib/windows/WindowsWM-def.cpp b/nx-X11/lib/windows/WindowsWM-def.cpp deleted file mode 100755 index e6a9e57a0..000000000 --- a/nx-X11/lib/windows/WindowsWM-def.cpp +++ /dev/null @@ -1,13 +0,0 @@ -LIBRARY windows -VERSION LIBRARY_VERSION -EXPORTS -XWindowsWMQueryExtension -XWindowsWMQueryVersion -XWindowsWMDisableUpdate -XWindowsWMReenableUpdate -XWindowsWMSelectInput -XWindowsWMSetFrontProcess -XWindowsWMFrameGetRect -XWindowsWMFrameHitTest -XWindowsWMFrameDraw -XWindowsWMFrameSetTitle diff --git a/nx-X11/lib/windows/WindowsWM.man b/nx-X11/lib/windows/WindowsWM.man deleted file mode 100644 index 7ca9e3c8f..000000000 --- a/nx-X11/lib/windows/WindowsWM.man +++ /dev/null @@ -1,340 +0,0 @@ -.\" -.\" $XFree86: xc/lib/apple/AppleWM.man,v 1.2 2003/09/16 00:36:08 torrey Exp $ -.\" -.\" Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved. -.\" Copyright (c) 2003 Torrey T. Lyons. 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. -.\" -.de TQ -.br -.ns -.TP \\$1 -.. -.TH APPLEWM 3 "Version 1.0" "XFree86" - -.SH NAME - AppleWM \- Apple rootless window management extension. -.SH SYNTAX -\&#include <X11/extensions/applewm.h> -.nf -.sp -Bool XAppleWMQueryExtension \^(\^Display *\fIdpy\fP, - int *\fIevent_basep\fP, int *\fIerror_basep\fP\^); -.sp -Status XAppleWMQueryVersion \^(\^Display *\fIdpy\fP, - int *\fImajor_versionp\fP, int *\fIminor_versionp\fP\^); -.sp -Bool XAppleWMDisableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^); -.sp -Bool XAppleWMReenableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^); -.sp -Bool XAppleWMSelectInput \^(\^Display *\fIdpy\fP, unsigned long \fImask\fP\^); -.sp -Bool XAppleWMSetWindowMenu \^(\^Display *\fIdpy\fP, int \fInitems\fP, - const char **\fIitems\fP\^); -.sp -Bool XAppleWMSetWindowMenuWithShortcuts \^(\^Display *\fIdpy\fP, - int \fInitems\fP, const char **\fIitems\fP, - const char *\fIshortcuts\fP\^); -.sp -Bool XAppleWMSetWindowMenuCheck \^(\^Display *\fIdpy\fP, int \fIindex\fP\^); -.sp -Bool XAppleWMSetFrontProcess \^(\^Display *\fIdpy\fP\^); -.sp -Bool XAppleWMSetWindowLevel \^(\^Display *\fIdpy\fP, Window \fIwindow\fP, - int \fIlevel\fP\^); -.sp -Bool XAppleWMSetCanQuit \^(\^Display *\fIdpy\fP, Bool \fIstate\fP\^); -.sp -Bool XAppleWMFrameGetRect \^(\^Display *\fIdpy\fP, - unsigned int \fIframe_class\fP, - unsigned int \fIframe_rect\fP, - short \fIinner_x\fP, short \fIinner_y\fP, - short \fIinner_w\fP, short \fIinner_h\fP, - short \fIouter_x\fP, short \fIouter_y\fP, - short \fIouter_w\fP, short \fIouter_h\fP, - short *\fIret_x\fP, short *\fIret_y\fP, - short *\fIret_w\fP, short *\fIret_h\fP\^); -.sp -unsigned int XAppleWMFrameHitTest \^(\^Display *\fIdpy\fP, - unsigned int \fIframe_class\fP, - short \fIpoint_x\fP, short \fIpoint_y\fP, - short \fIinner_x\fP, short \fIinner_y\fP, - short \fIinner_w\fP, short \fIinner_h\fP, - short \fIouter_x\fP, short \fIouter_y\fP, - short \fIouter_w\fP, short \fIouter_h\fP\^); -.sp -Bool XAppleWMFrameDraw \^(\^Display *\fIdpy\fP, int \fIscreen\fP, - Window \fIwindow\fP, - unsigned int \fIframe_class\fP, - unsigned int \fIframe_attr\fP, - short \fIinner_x\fP, short \fIinner_y\fP, - short \fIinner_w\fP, short \fIinner_h\fP, - short \fIouter_x\fP, short \fIouter_y\fP, - short \fIouter_w\fP, short \fIouter_h\fP, - unsigned int \fItitle_length\fP, - const unsigned char *\fItitle_bytes\fP); -.fi -.SH ARGUMENTS -.IP \fIdpy\fP 1i -Specifies the connection to the X server. -.IP \fIscreen\fP 1i -Specifies which screen. -.IP \fImask\fP 1i -Mask of event types the client is interested in. -.IP \fIwindow\fP 1i -Specifies which window. -.IP \fIlevel\fP 1i -Specifies the window level. -.IP \fIframe_class\fP 1i -Specifies the class of window frame decoration. -.IP \fIframe_rect\fP 1i -Specifies which rectangle to return from the window frame decoration. -.IP \fIframe_attr\fP 1i -A mask specifying the attributes of the window frame decoration. -.IP \fIinner_x\fP,\fIinner_y\fP,\fIinner_w\fP,\fIinner_h\fP 1i -Rectangle of the window content inside the window frame decoration. -.IP \fIouter_x\fP,\fIouter_y\fP,\fIouter_w\fP,\fIouter_h\fP 1i -Rectangle of the outer border of the window frame decoration. -.IP \fIpoint_x\fP,\fIpoint_y\fP 1i -Specifies the coordinates of the mouse up event. - -.SH DATATYPES - -.PP -.B Events -.nf -typedef struct { - int type; \/* of event *\/ - unsigned long serial; \/* # of last request processed by server *\/ - Bool send_event; \/* true if came from a SendEvent request *\/ - Display *display; \/* Display the event was read from *\/ - Window window; \/* window of event *\/ - Time time; \/* server timestamp when event happened *\/ - int kind; \/* subtype of event *\/ - int arg; -} XAppleWMNotifyEvent; -.fi -.B XAppleWMNotifyEvent -is sent to a client who has requested notification of AppleWM events with -\fBXAppleWMSelectInput\fP. - -.PP -Event types: -.nf -\&#define AppleWMControllerNotify 0 -\&#define AppleWMActivationNotify 1 -\&#define AppleWMPasteboardNotify 2 -.fi -.PP -Event masks: -.nf -\&#define AppleWMControllerNotifyMask (1L << 0) -\&#define AppleWMActivationNotifyMask (1L << 1) -\&#define AppleWMPasteboardNotifyMask (1L << 2) -.fi -.PP -Kinds of ControllerNotify events: -.nf -\&#define AppleWMMinimizeWindow 0 -\&#define AppleWMZoomWindow 1 -\&#define AppleWMCloseWindow 2 -\&#define AppleWMBringAllToFront 3 -\&#define AppleWMHideWindow 4 -\&#define AppleWMHideAll 5 -\&#define AppleWMShowAll 6 -\&#define AppleWMWindowMenuItem 9 -\&#define AppleWMWindowMenuNotify 10 -\&#define AppleWMNextWindow 11 -\&#define AppleWMPreviousWindow 12 -.fi -.PP -Kinds of ActivationNotify events: -.nf -\&#define AppleWMIsActive 0 -\&#define AppleWMIsInactive 1 -.fi -.PP -Kinds of PasteboardNotify events: -.nf -\&#define AppleWMCopyToPasteboard 0 -.sp -.fi -.PP -.B Window Parameters -.PP -Window level ids for \fBXAppleWMSetWindowLevel\fP: -.nf -\&#define AppleWMWindowLevelNormal 0 -\&#define AppleWMWindowLevelFloating 1 -\&#define AppleWMWindowLevelTornOff 2 -\&#define AppleWMWindowLevelDock 3 -\&#define AppleWMWindowLevelDesktop 4 -\&#define AppleWMNumWindowLevels 5 -.fi -.PP -Values for \fIframe_rect\fP argument to \fBXAppleWMFrameGetRect\fP: -.nf -\&#define AppleWMFrameRectTitleBar 1 -\&#define AppleWMFrameRectTracking 2 -\&#define AppleWMFrameRectGrowBox 3 -.fi -.PP -Window frame classes: -.nf -\&#define AppleWMFrameClassDocument 1 << 0 -\&#define AppleWMFrameClassDialog 1 << 1 -\&#define AppleWMFrameClassModalDialog 1 << 2 -\&#define AppleWMFrameClassSystemModalDialog 1 << 3 -\&#define AppleWMFrameClassUtility 1 << 4 -\&#define AppleWMFrameClassToolbar 1 << 5 -\&#define AppleWMFrameClassMenu 1 << 6 -\&#define AppleWMFrameClassSplash 1 << 7 -\&#define AppleWMFrameClassBorderless 1 << 8 -.fi -.PP -Window frame attributes: -.nf -\&#define AppleWMFrameActive 0x0001 -\&#define AppleWMFrameUrgent 0x0002 -\&#define AppleWMFrameTitle 0x0004 -\&#define AppleWMFramePrelight 0x0008 -\&#define AppleWMFrameShaded 0x0010 -\&#define AppleWMFrameCloseBox 0x0100 -\&#define AppleWMFrameCollapseBox 0x0200 -\&#define AppleWMFrameZoomBox 0x0400 -\&#define AppleWMFrameAnyBox 0x0700 -\&#define AppleWMFrameCloseBoxClicked 0x0800 -\&#define AppleWMFrameCollapseBoxClicked 0x1000 -\&#define AppleWMFrameZoomBoxClicked 0x2000 -\&#define AppleWMFrameAnyBoxClicked 0x3800 -\&#define AppleWMFrameGrowBox 0x4000 -.fi - -.SH DESCRIPTION -.B AppleWM -is a simple library designed to interface with the Apple-WM extension. -This extension allows X window managers to better interact with -the Mac OS X Aqua user interface when running X11 in a rootless mode. -.PP -A more complete description will be forthcoming eventually. - -.SH FUNCTIONS -.B XAppleWMDisableUpdate -causes any updates to the windows on the screen to be queued until updates -are reenabled with \fBXAppleWMReenableUpdate\fP. This is useful to avoid -intermediate redraws to the screen if a number of changes are going to be -made at once. Updates should only be disabled temporarily while drawing -to a window. These calls may be nested and each call to -\fBXAppleWMDisableUpdate\fP must be paired with a subsequent call to -\fBXAppleWMReenableUpdate\fP. Updating is not reenabled until the last -unnested call to \fBXAppleWMReenableUpdate\fP. Disabling updates applies -to window content; however, it is implementation dependent whether window -size and position changes are disabled as well. -.PP -.B XAppleWMSelectInput -is used to request that a client receive notification of the -.B AppleWM -events listed above. The event mask specifies the event types the client is -interested in receiving. Passing an event mask of 0 stops notification of -events. -.PP -.B XAppleWMSetWindowMenu -and -.B XAppleWMSetWindowMenuWithShortcuts -set the list of windows displayed in the X server's "Window" menu in the -Aqua menu bar. Other items may be listed in this menu by the X server, but -a part of this menu is set aside for use by the Apple-WM extension. This -is intended to be used to set a list of important top-level X11 windows. -.PP -One item of the X server's "Window" menu can have a checkmark beside it to -indicate it is the active or front most window. -.B XAppleWMSetWindowMenuCheck -can be used to set the item number to put a checkmark beside. -.PP -.B XAppleWMSetFrontProcess -directs the X server to make itself the front most application among all -the other Mac OS X applications. This causes X11 windows to move above -other applications' windows and for the X server to start receiving -keyboard and mouse events. -.PP -Windows can be placed into different Aqua window levels with -\fBXAppleWMSetWindowLevel\fP. The stacking of window levels takes precedence -over the stacking of windows within a level. Thus the bottom window in a level -will obscure even the top most window of a lower window level. By default all -windows are placed in the lowest window level, AppleWMWindowLevelNormal. When -a window is moved to a new level, it is ordered in front of all of its peers -at the new level. \fINote, X11 does not have the concept of window levels and -this function does not change the X11 window order. The result of trying to -reorder an X11 window above another window of higher level is undefined. -This should probably be changed.\fP -.PP -By default, the X server will ask for confirmation whenever the user requests -that it quit from the Aqua UI. -.B XAppleWMSetCanQuit -can be used to change this behavior. If a \fIstate\fP of TRUE is passed, the -X server will quit without confirmation when requested. If FALSE is passed, -the default behavior is used. -.PP -.B XAppleWMFrameDraw -can be used to decorate a top-level window with the standard Aqua window -frame and widgets. The \fIframe_class\fP controls the overall look of the -window frame and \fIframe_attr\fP specifies the details of how the various -UI elements should be drawn. The dimensions of the X11 window content are -passed as the \fIinner_*\fP rectangle and the dimensions of the Aqua window -frame are passed as the \fIouter_*\fP rectangle. -.B XAppleWMFrameGetRect -is used to calculate the size of the outer rectangle from the size of the -window content, which is being reparented. -.PP -.B XAppleWMFrameGetRect -returns a rectangle that encloses an element of the window frame decoration. -The \fIframe_rect\fP argument specifies the element of interest. The -\fIinner_*\fP and \fIouter_*\fP rectangles (as described above) specify the -window geometry. If AppleWMFrameRectTitleBar is passed for \fIframe_rect\fP, -the \fIinner_*\fP parameters are ignored. The returned rectangle has the -dimensions of the \fIouter_*\fP rectangle except that its height is equal -to the constant title bar height for the specified \fIframe_class\fP. The -proper outer rectangle for a given window content size is the union of inner -rectangle and the title bar rectangle. The AppleWMFrameRectTracking and -AppleWMFrameRectGrowBox rectangles are primarily intended to be used by the -window manager to determine the correct placement for child windows to -receive events. The tracking rectangle is the area of the window containing -the close, collapse and zoom boxes. Typically when the cursor is over this -area, the window manager will highlight the close, collapse, and zoom -buttons to conform to the standard Aqua interface. -.PP -If a mouse up or down event is received in the tracking rectangle, -.B XAppleWMFrameHitTest -is used to determine which button was clicked. -.B XAppleWMFrameHitTest -returns AppleWMFrameCloseBox, AppleWMFrameCollapseBox, or AppleWMFrameZoomBox -to indicate which button was clicked. If no button was clicked, 0 will be -returned. -.PP -Other functions include: \fBXAppleWMQueryExtension\fP, which returns the event -and error base codes and \fBXAppleWMQueryVersion\fP, which returns the current -version of the extension. (This information is cached by the library.) - -.SH RESTRICTIONS -.B AppleWM -is only intended to be used on Mac OS X when running a rootless X server. diff --git a/nx-X11/lib/windows/windowswm.c b/nx-X11/lib/windows/windowswm.c deleted file mode 100755 index 5d2a285ff..000000000 --- a/nx-X11/lib/windows/windowswm.c +++ /dev/null @@ -1,386 +0,0 @@ -/* - * WindowsWM extension is based on AppleWM extension - * Authors: Kensuke Matsuzaki - */ -/************************************************************************** - -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/windowswmstr.h> -#include <X11/extensions/Xext.h> -#include <X11/extensions/extutil.h> -#include <stdio.h> - -static XExtensionInfo _windowswm_info_data; -static XExtensionInfo *windowswm_info = &_windowswm_info_data; -static char *windowswm_extension_name = WINDOWSWMNAME; - -#define WindowsWMCheckExtension(dpy,i,val) \ - XextCheckExtension (dpy, i, windowswm_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 windowswm_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, windowswm_info, - windowswm_extension_name, - &windowswm_extension_hooks, - WindowsWMNumberEvents, NULL); - -static XEXT_GENERATE_CLOSE_DISPLAY (close_display, windowswm_info); - -static Bool -wire_to_event (Display *dpy, XEvent *re, xEvent *event) -{ - XExtDisplayInfo *info = find_display (dpy); - XWindowsWMNotifyEvent *se; - xWindowsWMNotifyEvent *sevent; - - WindowsWMCheckExtension (dpy, info, False); - - switch ((event->u.u.type & 0x7f) - info->codes->first_event) - { - case WindowsWMControllerNotify: - case WindowsWMActivationNotify: - se = (XWindowsWMNotifyEvent *) re; - sevent = (xWindowsWMNotifyEvent *) event; - se->type = sevent->type & 0x7f; - se->serial = _XSetLastRequestRead(dpy,(xGenericReply *) event); - se->send_event = (sevent->type & 0x80) != 0; - se->display = dpy; - se->window = sevent->window; - se->time = sevent->time; - se->kind = sevent->kind; - se->arg = sevent->arg; - se->x = sevent->x; - se->y = sevent->y; - se->w = sevent->w; - se->h = sevent->h; - return True; - } - return False; -} - -static Status -event_to_wire (Display *dpy, XEvent *re, xEvent *event) -{ - XExtDisplayInfo *info = find_display (dpy); - XWindowsWMNotifyEvent *se; - xWindowsWMNotifyEvent *sevent; - - WindowsWMCheckExtension (dpy, info, False); - - switch ((re->type & 0x7f) - info->codes->first_event) - { - case WindowsWMControllerNotify: - case WindowsWMActivationNotify: - se = (XWindowsWMNotifyEvent *) re; - sevent = (xWindowsWMNotifyEvent *) event; - sevent->type = se->type | (se->send_event ? 0x80 : 0); - sevent->sequenceNumber = se->serial & 0xffff; - sevent->window = se->window; - sevent->kind = se->kind; - sevent->arg = se->arg; - sevent->time = se->time; - sevent->x = se->x; - sevent->y = se->y; - sevent->w = se->w; - sevent->h = se->h; - return 1; - } - return 0; -} - -/***************************************************************************** - * * - * public Windows-WM Extension routines * - * * - *****************************************************************************/ - -#if 0 -#include <stdio.h> -#define TRACE(msg) fprintf(stderr, "WindowsWM%s\n", msg); -#else -#define TRACE(msg) -#endif - - -Bool -XWindowsWMQueryExtension (Display *dpy, - int *event_basep, int *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 -XWindowsWMQueryVersion (Display* dpy, int* majorVersion, - int* minorVersion, int* patchVersion) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMQueryVersionReply rep; - xWindowsWMQueryVersionReq *req; - - TRACE("QueryVersion..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMQueryVersion, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMQueryVersion; - 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 -XWindowsWMDisableUpdate (Display* dpy, int screen) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMDisableUpdateReq *req; - - TRACE("DisableUpdate..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMDisableUpdate, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMDisableUpdate; - req->screen = screen; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("DisableUpdate... return True"); - return True; -} - -Bool -XWindowsWMReenableUpdate (Display* dpy, int screen) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMReenableUpdateReq *req; - - TRACE("ReenableUpdate..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMReenableUpdate, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMReenableUpdate; - req->screen = screen; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("ReenableUpdate... return True"); - return True; -} - -Bool -XWindowsWMSelectInput (Display* dpy, unsigned long mask) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMSelectInputReq *req; - - TRACE("SelectInput..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMSelectInput, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMSelectInput; - req->mask = mask; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("SetlectInput... return True"); - return True; -} - - -Bool -XWindowsWMSetFrontProcess (Display* dpy) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMSetFrontProcessReq *req; - - TRACE("SetFrontProcess..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMSetFrontProcess, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMSetFrontProcess; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("SetFrontProcess... return True"); - return True; -} - -Bool -XWindowsWMFrameGetRect (Display* dpy, unsigned int frame_style, - unsigned int frame_style_ex, unsigned int frame_rect, - short ix, short iy, short iw, short ih, - short *rx, short *ry, short *rw, short *rh) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMFrameGetRectReply rep; - xWindowsWMFrameGetRectReq *req; - - TRACE("FrameGetRect..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMFrameGetRect, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMFrameGetRect; - req->frame_style = frame_style; - req->frame_style_ex = frame_style_ex; - req->frame_rect = frame_rect; - req->ix = ix; - req->iy = iy; - req->iw = iw; - req->ih = ih; - 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; -} - -Bool -XWindowsWMFrameDraw (Display* dpy, int screen, Window window, - unsigned int frame_style, unsigned int frame_style_ex, - short ix, short iy, short iw, short ih) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMFrameDrawReq *req; - - TRACE("FrameDraw..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMFrameDraw, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMFrameDraw; - req->screen = screen; - req->window = window; - req->frame_style = frame_style; - req->frame_style_ex = frame_style_ex; - req->ix = ix; - req->iy = iy; - req->iw = iw; - req->ih = ih; - - UnlockDisplay(dpy); - SyncHandle(); - TRACE("FrameDraw... return True"); - return True; -} - -Bool -XWindowsWMFrameSetTitle (Display* dpy, int screen, Window window, - unsigned int title_length, const char *title_bytes) -{ - XExtDisplayInfo *info = find_display (dpy); - xWindowsWMFrameSetTitleReq *req; - - TRACE("FrameSetTitle..."); - WindowsWMCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(WindowsWMFrameSetTitle, req); - req->reqType = info->codes->major_opcode; - req->wmReqType = X_WindowsWMFrameSetTitle; - req->screen = screen; - req->window = window; - req->title_length = title_length; - - req->length += (title_length + 3)>>2; - Data (dpy, title_bytes, title_length); - - UnlockDisplay(dpy); - SyncHandle(); - TRACE("FrameSetTitle... return True"); - return True; -} diff --git a/nx-X11/lib/windows/windowswm.h b/nx-X11/lib/windows/windowswm.h deleted file mode 100755 index 2c3379f6e..000000000 --- a/nx-X11/lib/windows/windowswm.h +++ /dev/null @@ -1,195 +0,0 @@ -/* - * WindowsWM extension is based on AppleWM extension - * Authors: Kensuke Matsuzaki - */ -/************************************************************************** - -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. - -**************************************************************************/ - -#ifndef _WINDOWSWM_H_ -#define _WINDOWSWM_H_ - -#include <X11/Xfuncproto.h> - -#define X_WindowsWMQueryVersion 0 -#define X_WindowsWMFrameGetRect 1 -#define X_WindowsWMFrameDraw 2 -#define X_WindowsWMFrameSetTitle 3 -#define X_WindowsWMDisableUpdate 4 -#define X_WindowsWMReenableUpdate 5 -#define X_WindowsWMSelectInput 6 -#define X_WindowsWMSetFrontProcess 7 - -/* Events */ -#define WindowsWMControllerNotify 0 -#define WindowsWMActivationNotify 1 -#define WindowsWMNumberEvents 2 - -#define WindowsWMControllerNotifyMask (1L << 0) -#define WindowsWMActivationNotifyMask (1L << 1) - -/* "Kinds" of ControllerNotify events */ -#define WindowsWMMinimizeWindow 0 -#define WindowsWMMaximizeWindow 1 -#define WindowsWMRestoreWindow 2 -#define WindowsWMCloseWindow 3 -#define WindowsWMBringAllToFront 4 -#define WindowsWMHideWindow 5 -#define WindowsWMMoveWindow 6 -#define WindowsWMResizeWindow 7 -#define WindowsWMActivateWindow 8 - -/* "Kinds" of ActivationNotify events */ -#define WindowsWMIsActive 0 -#define WindowsWMIsInactive 1 - -/* Errors */ -#define WindowsWMClientNotLocal 0 -#define WindowsWMOperationNotSupported 1 -#define WindowsWMNumberErrors (WindowsWMOperationNotSupported + 1) - -/* Possible value for frame_rect argument to XWindowsWMFrameGetRect() */ -#define WindowsWMFrameRectTitleBar 1 -#define WindowsWMFrameRectTracking 2 -#define WindowsWMFrameRectGrowBox 3 - -/* Window frame styles */ -#define WindowsWMFrameStyleBorder 0x800000 -#define WindowsWMFrameStyleCaption 0xc00000 -#define WindowsWMFrameStyleChild 0x40000000 -#define WindowsWMFrameStyleChildWindow 0x40000000 -#define WindowsWMFrameStyleClipChildren 0x2000000 -#define WindowsWMFrameStyleClipSiblings 0x4000000 -#define WindowsWMFrameStyleDisabled 0x8000000 -#define WindowsWMFrameStyleDlgFrame 0x400000 -#define WindowsWMFrameStyleGroup 0x20000 -#define WindowsWMFrameStyleHScroll 0x100000 -#define WindowsWMFrameStyleIconic 0x20000000 -#define WindowsWMFrameStyleMaximize 0x1000000 -#define WindowsWMFrameStyleMaximizeBox 0x10000 -#define WindowsWMFrameStyleMinimize 0x20000000 -#define WindowsWMFrameStyleMinimizeBox 0x20000 -#define WindowsWMFrameStyleOverlapped 0 -#define WindowsWMFrameStyleOverlappedWindow 0xcf0000 -#define WindowsWMFrameStylePopup 0x80000000 -#define WindowsWMFrameStylePopupWindow 0x80880000 -#define WindowsWMFrameStyleSizeBox 0x40000 -#define WindowsWMFrameStyleSysMenu 0x80000 -#define WindowsWMFrameStyleTabStop 0x10000 -#define WindowsWMFrameStyleThickFrame 0x40000 -#define WindowsWMFrameStyleTiled 0 -#define WindowsWMFrameStyleTiledWindow 0xcf0000 -#define WindowsWMFrameStyleVisible 0x10000000 -#define WindowsWMFrameStyleVScroll 0x200000 - -/* Window frame Ex-styles */ -#define WindowsWMFrameStyleExAcceptFiles 16 -#define WindowsWMFrameStyleExAppWindow 0x40000 -#define WindowsWMFrameStyleExClientEdge 512 -#define WindowsWMFrameStyleExComposited 0x2000000 -#define WindowsWMFrameStyleExContextHelp 0x400 -#define WindowsWMFrameStyleExControlParent 0x10000 -#define WindowsWMFrameStyleExDlgModalFrame 1 -#define WindowsWMFrameStyleExLayered 0x80000 -#define WindowsWMFrameStyleExLayoutRtl 0x400000 -#define WindowsWMFrameStyleExLeft 0 -#define WindowsWMFrameStyleExLeftScrollBar 0x4000 -#define WindowsWMFrameStyleExLtrReading 0 -#define WindowsWMFrameStyleExMDIChild 64 -#define WindowsWMFrameStyleExNoActivate 0x8000000 -#define WindowsWMFrameStyleExNoInheritLayout 0x100000 -#define WindowsWMFrameStyleExNoParentNotify 4 -#define WindowsWMFrameStyleExOverlappedWindow 0x300 -#define WindowsWMFrameStyleExPaletteWindow 0x188 -#define WindowsWMFrameStyleExRight 0x1000 -#define WindowsWMFrameStyleExRightScrollBar 0 -#define WindowsWMFrameStyleExRtlReading 0x2000 -#define WindowsWMFrameStyleExStaticEdge 0x20000 -#define WindowsWMFrameStyleExToolWindow 128 -#define WindowsWMFrameStyleExTopMost 8 -#define WindowsWMFrameStyleExTransparent 32 -#define WindowsWMFrameStyleExWindowEdge 256 - -#define WINDOWSWM_RAISE_ON_CLICK "_WINDOWSWM_RAISE_ON_CLICK" -#define WINDOWSWM_MOUSE_ACTIVATE "_WINDOWSWM_MOUSE_ACTIVATE" -#define WINDOWSWM_CLIENT_WINDOW "_WINDOWSWM_CLIENT_WINDOW" -#define WINDOWSWM_NATIVE_HWND "_WINDOWSWM_NATIVE_HWND" - -#ifndef _WINDOWSWM_SERVER_ - -typedef struct { - int type; /* of event */ - unsigned long serial; /* # of last request processed by server */ - Bool send_event; /* true if this came frome a SendEvent request */ - Display *display; /* Display the event was read from */ - Window window; /* window of event */ - Time time; /* server timestamp when event happened */ - int kind; /* subtype of event */ - int arg; - int x; - int y; - int w; - int h; -} XWindowsWMNotifyEvent; - -_XFUNCPROTOBEGIN - -Bool XWindowsWMQueryExtension (Display *dpy, int *event_base, int *error_base); - -Bool XWindowsWMQueryVersion (Display *dpy, int *majorVersion, - int *minorVersion, int *patchVersion); - -Bool XWindowsWMDisableUpdate (Display *dpy, int screen); - -Bool XWindowsWMReenableUpdate (Display *dpy, int screen); - -Bool XWindowsWMSelectInput (Display *dpy, unsigned long mask); - -Bool XWindowsWMSetFrontProcess (Display *dpy); - -Bool XWindowsWMFrameGetRect (Display *dpy, - unsigned int frame_style, - unsigned int frame_style_ex, - unsigned int frame_rect, - short inner_x, short inner_y, - short inner_w, short inner_h, - short *ret_x, short *ret_y, - short *ret_w, short *ret_h); - -Bool XWindowsWMFrameDraw (Display *dpy, int screen, Window window, - unsigned int frame_style, - unsigned int frame_style_ex, - short inner_x, short inner_y, - short inner_w, short inner_h); - -Bool XWindowsWMFrameSetTitle (Display *dpy, int screen, Window window, - unsigned int title_length, - const char * title_bytes); - -_XFUNCPROTOEND - -#endif /* _WINDOWSWM_SERVER_ */ -#endif /* _WINDOWSWM_H_ */ diff --git a/nx-X11/lib/windows/windowswmstr.h b/nx-X11/lib/windows/windowswmstr.h deleted file mode 100755 index 37ceb535a..000000000 --- a/nx-X11/lib/windows/windowswmstr.h +++ /dev/null @@ -1,169 +0,0 @@ -/* - * WindowsWM extension is based on AppleWM extension - * Authors: Kensuke Matsuzaki - */ -/************************************************************************** - -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. - -**************************************************************************/ - -#ifndef _WINDOWSWMSTR_H_ -#define _WINDOWSWMSTR_H_ - -#include <X11/extensions/windowswm.h> -#include <X11/X.h> -#include <X11/Xmd.h> - -#define WINDOWSWMNAME "Windows-WM" - -#define WINDOWS_WM_MAJOR_VERSION 1 /* current version numbers */ -#define WINDOWS_WM_MINOR_VERSION 0 -#define WINDOWS_WM_PATCH_VERSION 0 - -typedef struct _WindowsWMQueryVersion { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMQueryVersion */ - CARD16 length B16; -} xWindowsWMQueryVersionReq; -#define sz_xWindowsWMQueryVersionReq 4 - -typedef struct { - BYTE type; /* X_Reply */ - BOOL pad1; - CARD16 sequenceNumber B16; - CARD32 length B32; - CARD16 majorVersion B16; /* major version of WM protocol */ - CARD16 minorVersion B16; /* minor version of WM protocol */ - CARD32 patchVersion B32; /* patch version of WM protocol */ - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; - CARD32 pad6 B32; -} xWindowsWMQueryVersionReply; -#define sz_xWindowsWMQueryVersionReply 32 - -typedef struct _WindowsWMDisableUpdate { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMDisableUpdate */ - CARD16 length B16; - CARD32 screen B32; -} xWindowsWMDisableUpdateReq; -#define sz_xWindowsWMDisableUpdateReq 8 - -typedef struct _WindowsWMReenableUpdate { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMReenableUpdate */ - CARD16 length B16; - CARD32 screen B32; -} xWindowsWMReenableUpdateReq; -#define sz_xWindowsWMReenableUpdateReq 8 - -typedef struct _WindowsWMSelectInput { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMSelectInput */ - CARD16 length B16; - CARD32 mask B32; -} xWindowsWMSelectInputReq; -#define sz_xWindowsWMSelectInputReq 8 - -typedef struct _WindowsWMNotify { - BYTE type; /* always eventBase + event type */ - BYTE kind; - CARD16 sequenceNumber B16; - Window window B32; - Time time B32; /* time of change */ - CARD16 pad1 B16; - CARD32 arg B32; - INT16 x B16; - INT16 y B16; - CARD16 w B16; - CARD16 h B16; -} xWindowsWMNotifyEvent; -#define sz_xWindowsWMNotifyEvent 28 - -typedef struct _WindowsWMSetFrontProcess { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMSetFrontProcess */ - CARD16 length B16; -} xWindowsWMSetFrontProcessReq; -#define sz_xWindowsWMSetFrontProcessReq 4 - -typedef struct _WindowsWMFrameGetRect { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMFrameGetRect */ - CARD16 length B16; - CARD32 frame_style B32; - CARD32 frame_style_ex B32; - CARD16 frame_rect B16; - INT16 ix B16; - INT16 iy B16; - CARD16 iw B16; - CARD16 ih B16; - CARD16 pad1 B16; -} xWindowsWMFrameGetRectReq; -#define sz_xWindowsWMFrameGetRectReq 24 - -typedef struct { - BYTE type; /* X_Reply */ - BOOL pad1; - CARD16 sequenceNumber B16; - CARD32 length B32; - INT16 x B16; - INT16 y B16; - CARD16 w B16; - CARD16 h B16; - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; - CARD32 pad6 B32; -} xWindowsWMFrameGetRectReply; -#define sz_xWindowsWMFrameGetRectReply 32 - -typedef struct _WindowsWMFrameDraw { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMFrameDraw */ - CARD16 length B16; - CARD32 screen B32; - CARD32 window B32; - CARD32 frame_style B32; - CARD32 frame_style_ex B32; - INT16 ix B16; - INT16 iy B16; - CARD16 iw B16; - CARD16 ih B16; -} xWindowsWMFrameDrawReq; -#define sz_xWindowsWMFrameDrawReq 28 - -typedef struct _WindowsWMFrameSetTitle { - CARD8 reqType; /* always WMReqCode */ - CARD8 wmReqType; /* always X_WMFrameSetTitle */ - CARD16 length B16; - CARD32 screen B32; - CARD32 window B32; - CARD32 title_length B32; -} xWindowsWMFrameSetTitleReq; -#define sz_xWindowsWMFrameSetTitleReq 16 - -#endif /* _WINDOWSWMSTR_H_ */ |