DMXGetWindowAttributes

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
DMXGetWindowAttributes(3X)			   DMXGetWindowAttributes(3X)



NAME
       DMXGetWindowAttributes - determine back-end window attributes

SYNOPSIS
       #include <X11/extensions/dmxext.h>

       Bool DMXGetWindowAttributes(Display *dpy,
				   Window window,
				   int *screen_count,
				   int available_count,
				   DMXWindowAttributes *attr);

DESCRIPTION
       When  calling DMXGetWindowAttributes(), window specifies the window ID
       of a window on the Xdmx(1) server and  available_count  specifies  the
       length of attr.

       The  number  of	screens	 for  which  information is available will be
       returned in screen_count and information about those  screen  will  be
       returned	 in attr.  If screen_count is less than available_count, then
       information for all of  the  screens  will  be  returned.   Otherwise,
       information for the first available_count screens will be returned.

       The DMXWindowAttributes structure is:

       typedef struct {
	   int		screen;
	   Window	window;
	   XRectangle	pos, vis;
       } DMXWindowAttributes;

       For  each  back-end  X  server that displays a portion of window, this
       structure contains the physical screen containing  that	portion,  the
       window  ID on the back-end X server of the window containing that por-
       tion, the position and dimensions of the window on the back-end	(pos,
       in  screen  coordinates),  and  the  visible area of the window on the
       back-end (vis, in window-relative coordinates -- all zeros if the win-
       dow is not visible on the backend).

       To   obtain  more  information  about  the  physical  screen  use  the
       DMXGetScreenAttributes(3X) call.

       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.

       As  an  example,	 consider  a  500x500  window  that spans the top two
       1024x768 back-end displays (A and B) of a 2048x1536 DMX	display	 com-
       posed of 4 1024x768 back-end displays arranged in a cube:

	   A B
	   C D

       In this case, the DMXGetWindowAttributes call would return the follow-
       ing information for the 500x500 window:

       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

RETURN VALUE
       DMXGetWindowAttributes() returns	 True  unless  there  is  a  protocol
       error.

       DMXGetWindowAttributes() can generate BadWindow and BadAlloc errors.

NOTES
       Because	this  call  transports	a  great deal of information over the
       wire, please call DMXGetScreenCount(3X) first, and make sure  attr  is
       sufficiently large.

       On  a  particular  back-end server, it is possible that the associated
       window has not yet been mapped because the  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
       DMXSync(3X)  before communicating directly with the back-end X server.

SEE ALSO
       DMXGetScreenCount(3X),	 DMXSync(3X),	  DMXGetScreenAttributes(3X),
       DMX(3X), Xdmx(1)



X.Org				Version 6.8.2	   DMXGetWindowAttributes(3X)