panoramiX.h revision b8e299dddd091ae24e0c08c45d91b8f937bd14d2
418N/A/* $TOG: panoramiX.h /main/4 1998/03/17 06:51:02 kaleb $ */
418N/A/* $XdotOrg: xserver/xorg/Xext/panoramiX.h,v 1.5 2005/07/03 07:01:04 daniels Exp $ */
1356N/A/*****************************************************************
418N/A
1607N/ACopyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
418N/A
418N/APermission is hereby granted, free of charge, to any person obtaining a copy
919N/Aof this software and associated documentation files (the "Software"), to deal
919N/Ain the Software without restriction, including without limitation the rights
919N/Ato use, copy, modify, merge, publish, distribute, sublicense, and/or sell
919N/Acopies of the Software.
919N/A
919N/AThe above copyright notice and this permission notice shall be included in
919N/Aall copies or substantial portions of the Software.
919N/A
919N/ATHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
919N/AIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
919N/AFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
919N/ADIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
919N/ABUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
919N/AWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
919N/AIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
919N/A
919N/AExcept as contained in this notice, the name of Digital Equipment Corporation
418N/Ashall not be used in advertising or otherwise to promote the sale, use or other
418N/Adealings in this Software without prior written authorization from Digital
418N/AEquipment Corporation.
418N/A
493N/A******************************************************************/
418N/A
970N/A/* $XFree86: xc/programs/Xserver/Xext/panoramiX.h,v 1.5 2001/01/03 02:54:17 keithp Exp $ */
970N/A
970N/A/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
970N/A
1143N/A/*
1143N/A * PanoramiX definitions
1143N/A */
1143N/A
970N/A#ifdef HAVE_DIX_CONFIG_H
970N/A#include <dix-config.h>
970N/A#endif
970N/A
1590N/A#ifndef _PANORAMIX_H_
1590N/A#define _PANORAMIX_H_
1590N/A
1590N/A#include <X11/extensions/panoramiXext.h>
970N/A#include "gcstruct.h"
970N/A
970N/A
970N/Atypedef struct _PanoramiXData {
1356N/A int x;
1590N/A int y;
970N/A int width;
418N/A int height;
1590N/A} PanoramiXData;
418N/A
911N/Atypedef struct _PanoramiXInfo {
1590N/A XID id ;
1590N/A} PanoramiXInfo;
1590N/A
911N/Atypedef struct {
418N/A PanoramiXInfo info[MAXSCREENS];
553N/A RESTYPE type;
418N/A union {
553N/A struct {
553N/A char visibility;
553N/A char class;
553N/A char root;
418N/A } win;
418N/A struct {
1420N/A Bool shared;
1231N/A } pix;
1621N/A#ifdef RENDER
418N/A struct {
418N/A Bool root;
1143N/A } pict;
493N/A#endif
418N/A char raw_data[4];
1143N/A } u;
1143N/A} PanoramiXRes;
1143N/A
1143N/A#define FOR_NSCREENS_FORWARD(j) for(j = 0; j < PanoramiXNumScreens; j++)
1143N/A#define FOR_NSCREENS_BACKWARD(j) for(j = PanoramiXNumScreens - 1; j >= 0; j--)
1143N/A#define FOR_NSCREENS(j) FOR_NSCREENS_FORWARD(j)
1143N/A
1143N/A#define BREAK_IF(a) if ((a)) break
1143N/A#define IF_RETURN(a,b) if ((a)) return (b)
1143N/A
1143N/A#define FORCE_ROOT(a) { \
1607N/A int _j; \
1607N/A for (_j = PanoramiXNumScreens - 1; _j; _j--) \
1607N/A if ((a).root == WindowTable[_j]->drawable.id) \
1607N/A break; \
418N/A (a).rootX += panoramiXdataPtr[_j].x; \
418N/A (a).rootY += panoramiXdataPtr[_j].y; \
851N/A (a).root = WindowTable[0]->drawable.id; \
1610N/A}
418N/A
1196N/A#define FORCE_WIN(a) { \
1196N/A if ((win = PanoramiXFindIDOnAnyScreen(XRT_WINDOW, a))) { \
1196N/A (a) = win->info[0].id; /* Real ID */ \
1196N/A } \
1196N/A}
418N/A
493N/A#define FORCE_CMAP(a) { \
418N/A if ((win = PanoramiXFindIDOnAnyScreen(XRT_COLORMAP, a))) { \
857N/A (a) = win->info[0].id; /* Real ID */ \
851N/A } \
851N/A}
672N/A
418N/A#define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)
857N/A
857N/A#define SKIP_FAKE_WINDOW(a) if(!LookupIDByType(a, XRT_WINDOW)) return
857N/A
857N/A#endif /* _PANORAMIX_H_ */
857N/A