diff options
Diffstat (limited to 'man/DMXGetWindowAttributes.man')
-rw-r--r-- | man/DMXGetWindowAttributes.man | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/man/DMXGetWindowAttributes.man b/man/DMXGetWindowAttributes.man new file mode 100644 index 0000000..034e3ed --- /dev/null +++ b/man/DMXGetWindowAttributes.man @@ -0,0 +1,154 @@ +.\" $XFree86$ +.\" +.\" Copyright 2004 Red Hat Inc., Durham, North Carolina. +.\" 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 on the rights to use, copy, modify, merge, +.\" publish, distribute, sublicense, 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: +.\" +.\" he 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 RED HAT AND/OR THEIR 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. +.TH DMXGetWindowAttributes 3X __vendorversion__ +.SH NAME +DMXGetWindowAttributes \- determine back-end window attributes +.SH SYNOPSIS +.B #include <X11/extensions/dmxext.h> +.sp +.nf +.BI "Bool DMXGetWindowAttributes(Display " *dpy , +.BI " Window " window , +.BI " int " *screen_count , +.BI " int " available_count , +.BI " DMXWindowAttributes " *attr ); +.fi +.SH DESCRIPTION +When calling +.BR DMXGetWindowAttributes() , +.I window +specifies the window ID of a window on the +.BR Xdmx (1) +server and +.I available_count +specifies the length of +.I attr. +.PP +The number of screens for which information is available will be +returned in +.I screen_count +and information about those screen will be returned in +.IR attr . +If +.I screen_count +is less than +.IR available_count , +then information for all of the screens will be returned. Otherwise, +information for the first +.I available_count +screens will be returned. +.PP +The +.I DMXWindowAttributes +structure is: +.sp +.nf +typedef struct { + int screen; + Window window; + XRectangle pos, vis; +} DMXWindowAttributes; +.fi +.PP +For each back-end X server that displays a portion of +.IR window , +this structure contains the physical +.I screen +containing that portion, the +.I window +ID on the back-end X server of the window containing that portion, the +position and dimensions of the window on the back-end +.RI ( pos , +in screen coordinates), and the visible area of the window on the +back-end +.RI ( vis , +in window-relative coordinates -- all zeros if the window is not visible +on the backend). +.PP +To obtain more information about the physical screen use the +.BR DMXGetScreenAttributes (3X) +call. +.PP +Note that DMX allows multiple back-end windows to overlap in their +view of the DMX logical window. Further, a logical window does not +have to be completely covered by back-end windows -- there may be +gaps. +.PP +As an example, consider a 500x500 window that spans the top two +1024x768 back-end displays (A and B) of a 2048x1536 DMX display +composed of 4 1024x768 back-end displays arranged in a cube: +.sp +.nf + A B + C D +.fi +.sp +In this case, the DMXGetWindowAttributes call would return the +following information for the 500x500 window: +.sp +.nf +display A: 500x500 window at 1024-250,0 (relative to back end) + with 250x500 visible at 0,0 (relative to window origin) + +display B: 500x500 window at -250,0 (relative to back end) + with 250x500 visible at 250,0 (relative to window origin) + +display C: 500x500 window at 1024-250,-768 with 0x0 visible at 0,0 + +display D: 500x500 window at -250,-768 with 0x0 visible at 0,0 +.fi +.SH "RETURN VALUE" +.B DMXGetWindowAttributes() +returns +.B True +unless there is a protocol error. +.PP +.B DMXGetWindowAttributes() +can generate +.B BadWindow +and +.B BadAlloc +errors. +.SH NOTES +Because this call transports a great deal of information over the wire, +please call +.BR DMXGetScreenCount (3X) +first, and make sure +.I attr +is sufficiently large. +.PP +On a particular back-end server, it is possible that the associated +window has not yet been mapped because the +.BR XMapWindow (3X) +call that will eventually map the window had been buffered by Xlib's +normal buffering system. To avoid this race condition, please call +.BR DMXSync (3X) +before communicating directly with the back-end X server. +.SH "SEE ALSO" +.BR DMXGetScreenCount "(3X), " +.BR DMXSync "(3X), " +.BR DMXGetScreenAttributes "(3X), " +.BR DMX "(3X), " Xdmx (1) |