a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/*****************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncCopyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncPermission is hereby granted, free of charge, to any person obtaining a copy
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncof this software and associated documentation files (the "Software"), to deal
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncin the Software without restriction, including without limitation the rights
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynccopies of the Software.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncThe above copyright notice and this permission notice shall be included in
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncall copies or substantial portions of the Software.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncDIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncBUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncExcept as contained in this notice, the name of Digital Equipment Corporation
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncshall not be used in advertising or otherwise to promote the sale, use or other
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncdealings in this Software without prior written authorization from Digital
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncEquipment Corporation.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync******************************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/*
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * PanoramiX definitions
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifdef HAVE_DIX_CONFIG_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include <dix-config.h>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifndef _PANORAMIX_H_
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define _PANORAMIX_H_
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define _PANORAMIX_SERVER
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include <X11/extensions/panoramiXproto.h>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#undef _PANORAMIX_SERVER
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "gcstruct.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "dixstruct.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct _PanoramiXInfo {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XID id;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} PanoramiXInfo;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync PanoramiXInfo info[MAXSCREENS];
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync RESTYPE type;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync union {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync char visibility;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync char class;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync char root;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync } win;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool shared;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync } pix;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool root;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync } pict;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync char raw_data[4];
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync } u;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} PanoramiXRes;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define FOR_NSCREENS_FORWARD(j) for(j = 0; j < PanoramiXNumScreens; j++)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define FOR_NSCREENS_FORWARD_SKIP(j) for(j = 1; j < PanoramiXNumScreens; j++)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define FOR_NSCREENS_BACKWARD(j) for(j = PanoramiXNumScreens - 1; j >= 0; j--)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define FOR_NSCREENS(j) FOR_NSCREENS_FORWARD(j)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define IS_ROOT_DRAWABLE(d) (((d)->type == XRT_WINDOW) && (d)->u.win.root)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _PANORAMIX_H_ */