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