101 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
/*****************************************************************
 | 
						|
 | 
						|
Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
 | 
						|
 | 
						|
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, sublicense, and/or sell
 | 
						|
copies of the Software.
 | 
						|
 | 
						|
The above copyright notice and this permission notice 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 NONINFRINGEMENT.  IN NO EVENT SHALL
 | 
						|
DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
 | 
						|
BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL 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.
 | 
						|
 | 
						|
Except as contained in this notice, the name of Digital Equipment Corporation
 | 
						|
shall not be used in advertising or otherwise to promote the sale, use or other
 | 
						|
dealings in this Software without prior written authorization from Digital
 | 
						|
Equipment Corporation.
 | 
						|
 | 
						|
******************************************************************/
 | 
						|
 | 
						|
 | 
						|
/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
 | 
						|
 | 
						|
/*  
 | 
						|
 *	PanoramiX definitions
 | 
						|
 */
 | 
						|
 | 
						|
#ifdef HAVE_DIX_CONFIG_H
 | 
						|
#include <dix-config.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef _PANORAMIX_H_
 | 
						|
#define _PANORAMIX_H_
 | 
						|
 | 
						|
#include <X11/extensions/panoramiXext.h>
 | 
						|
#include "gcstruct.h"
 | 
						|
 | 
						|
 | 
						|
typedef struct _PanoramiXData {
 | 
						|
    int x;
 | 
						|
    int y;
 | 
						|
    int width;
 | 
						|
    int height;
 | 
						|
} PanoramiXData;
 | 
						|
 | 
						|
typedef struct _PanoramiXInfo {
 | 
						|
    XID id ;
 | 
						|
} PanoramiXInfo;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    PanoramiXInfo info[MAXSCREENS];
 | 
						|
    RESTYPE type;
 | 
						|
    union {
 | 
						|
	struct {
 | 
						|
	    char   visibility;
 | 
						|
	    char   class;
 | 
						|
            char   root;
 | 
						|
	} win;
 | 
						|
	struct {
 | 
						|
	    Bool shared;
 | 
						|
	} pix;
 | 
						|
#ifdef RENDER
 | 
						|
	struct {
 | 
						|
	    Bool root;
 | 
						|
	} pict;
 | 
						|
#endif
 | 
						|
	char raw_data[4];
 | 
						|
    } u;
 | 
						|
} PanoramiXRes;
 | 
						|
 | 
						|
#define FOR_NSCREENS_FORWARD(j) for(j = 0; j < PanoramiXNumScreens; j++)
 | 
						|
#define FOR_NSCREENS_BACKWARD(j) for(j = PanoramiXNumScreens - 1; j >= 0; j--)
 | 
						|
#define FOR_NSCREENS(j) FOR_NSCREENS_FORWARD(j)
 | 
						|
 | 
						|
#define BREAK_IF(a) if ((a)) break
 | 
						|
#define IF_RETURN(a,b) if ((a)) return (b)
 | 
						|
 | 
						|
#define FORCE_ROOT(a) { \
 | 
						|
    int _j; \
 | 
						|
    for (_j = PanoramiXNumScreens - 1; _j; _j--) \
 | 
						|
        if ((a).root == WindowTable[_j]->drawable.id)   \
 | 
						|
            break;                                      \
 | 
						|
    (a).rootX += panoramiXdataPtr[_j].x;             \
 | 
						|
    (a).rootY += panoramiXdataPtr[_j].y;             \
 | 
						|
    (a).root = WindowTable[0]->drawable.id;          \
 | 
						|
}
 | 
						|
 | 
						|
#define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)
 | 
						|
 | 
						|
#define SKIP_FAKE_WINDOW(a) if(!LookupIDByType(a, XRT_WINDOW)) return
 | 
						|
 | 
						|
#endif /* _PANORAMIX_H_ */
 |