76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 | 
						|
Copyright 1993 by Davor Matic
 | 
						|
 | 
						|
Permission to use, copy, modify, distribute, and sell this software
 | 
						|
and its documentation for any purpose is hereby granted without fee,
 | 
						|
provided that the above copyright notice appear in all copies and that
 | 
						|
both that copyright notice and this permission notice appear in
 | 
						|
supporting documentation.  Davor Matic makes no representations about
 | 
						|
the suitability of this software for any purpose.  It is provided "as
 | 
						|
is" without express or implied warranty.
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef XNESTWINDOW_H
 | 
						|
#define XNESTWINDOW_H
 | 
						|
 | 
						|
#include <X11/Xdefs.h>
 | 
						|
#include <xcb/xcb.h>
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    xcb_window_t window;
 | 
						|
    xcb_window_t parent;
 | 
						|
    int x;
 | 
						|
    int y;
 | 
						|
    unsigned int width;
 | 
						|
    unsigned int height;
 | 
						|
    unsigned int border_width;
 | 
						|
    xcb_window_t sibling_above;
 | 
						|
    RegionPtr bounding_shape;
 | 
						|
    RegionPtr clip_shape;
 | 
						|
} xnestPrivWin;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    WindowPtr pWin;
 | 
						|
    xcb_window_t window;
 | 
						|
} xnestWindowMatch;
 | 
						|
 | 
						|
extern DevPrivateKeyRec xnestWindowPrivateKeyRec;
 | 
						|
 | 
						|
#define xnestWindowPrivateKey (&xnestWindowPrivateKeyRec)
 | 
						|
 | 
						|
#define xnestWindowPriv(pWin) ((xnestPrivWin *) \
 | 
						|
    dixLookupPrivate(&(pWin)->devPrivates, xnestWindowPrivateKey))
 | 
						|
 | 
						|
#define xnestWindow(pWin) (xnestWindowPriv(pWin)->window)
 | 
						|
 | 
						|
#define xnestWindowParent(pWin) \
 | 
						|
  ((pWin)->parent ? \
 | 
						|
   xnestWindow((pWin)->parent) : \
 | 
						|
   xnestDefaultWindows[pWin->drawable.pScreen->myNum])
 | 
						|
 | 
						|
#define xnestWindowSiblingAbove(pWin) \
 | 
						|
  ((pWin)->prevSib ? xnestWindow((pWin)->prevSib) : XCB_WINDOW_NONE)
 | 
						|
 | 
						|
#define xnestWindowSiblingBelow(pWin) \
 | 
						|
  ((pWin)->nextSib ? xnestWindow((pWin)->nextSib) : XCB_WINDOW_NONE)
 | 
						|
 | 
						|
WindowPtr xnestWindowPtr(xcb_window_t window);
 | 
						|
Bool xnestCreateWindow(WindowPtr pWin);
 | 
						|
Bool xnestDestroyWindow(WindowPtr pWin);
 | 
						|
Bool xnestPositionWindow(WindowPtr pWin, int x, int y);
 | 
						|
void xnestConfigureWindow(WindowPtr pWin, unsigned int mask);
 | 
						|
Bool xnestChangeWindowAttributes(WindowPtr pWin, unsigned long mask);
 | 
						|
Bool xnestRealizeWindow(WindowPtr pWin);
 | 
						|
Bool xnestUnrealizeWindow(WindowPtr pWin);
 | 
						|
void xnestCopyWindow(WindowPtr pWin, xPoint oldOrigin, RegionPtr oldRegion);
 | 
						|
void xnestClipNotify(WindowPtr pWin, int dx, int dy);
 | 
						|
void xnestSetShape(WindowPtr pWin, int kind);
 | 
						|
void xnestShapeWindow(WindowPtr pWin);
 | 
						|
 | 
						|
/* ScreenRec operations */
 | 
						|
void xnest_screen_ClearToBackground(WindowPtr pWin, int x, int y, int w, int h, Bool generateExposures);
 | 
						|
 | 
						|
#endif                          /* XNESTWINDOW_H */
 |