1 | /*****************************************************************
|
---|
2 |
|
---|
3 | Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
|
---|
4 |
|
---|
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
|
---|
6 | of this software and associated documentation files (the "Software"), to deal
|
---|
7 | in the Software without restriction, including without limitation the rights
|
---|
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
---|
9 | copies of the Software.
|
---|
10 |
|
---|
11 | The above copyright notice and this permission notice shall be included in
|
---|
12 | all copies or substantial portions of the Software.
|
---|
13 |
|
---|
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
---|
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
---|
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
---|
17 | DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
|
---|
18 | BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
|
---|
19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
---|
20 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
---|
21 |
|
---|
22 | Except as contained in this notice, the name of Digital Equipment Corporation
|
---|
23 | shall not be used in advertising or otherwise to promote the sale, use or other
|
---|
24 | dealings in this Software without prior written authorization from Digital
|
---|
25 | Equipment Corporation.
|
---|
26 |
|
---|
27 | ******************************************************************/
|
---|
28 |
|
---|
29 |
|
---|
30 | /* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
|
---|
31 |
|
---|
32 | /*
|
---|
33 | * PanoramiX definitions
|
---|
34 | */
|
---|
35 |
|
---|
36 | #ifdef HAVE_DIX_CONFIG_H
|
---|
37 | #include <dix-config.h>
|
---|
38 | #endif
|
---|
39 |
|
---|
40 | #ifndef _PANORAMIX_H_
|
---|
41 | #define _PANORAMIX_H_
|
---|
42 |
|
---|
43 | #define _PANORAMIX_SERVER
|
---|
44 | #include <X11/extensions/panoramiXext.h>
|
---|
45 | #undef _PANORAMIX_SERVER
|
---|
46 |
|
---|
47 | #include "gcstruct.h"
|
---|
48 |
|
---|
49 |
|
---|
50 | typedef struct _PanoramiXData {
|
---|
51 | int x;
|
---|
52 | int y;
|
---|
53 | int width;
|
---|
54 | int height;
|
---|
55 | } PanoramiXData;
|
---|
56 |
|
---|
57 | typedef struct _PanoramiXInfo {
|
---|
58 | XID id ;
|
---|
59 | } PanoramiXInfo;
|
---|
60 |
|
---|
61 | typedef struct {
|
---|
62 | PanoramiXInfo info[MAXSCREENS];
|
---|
63 | RESTYPE type;
|
---|
64 | union {
|
---|
65 | struct {
|
---|
66 | char visibility;
|
---|
67 | char class;
|
---|
68 | char root;
|
---|
69 | } win;
|
---|
70 | struct {
|
---|
71 | Bool shared;
|
---|
72 | } pix;
|
---|
73 | #ifdef RENDER
|
---|
74 | struct {
|
---|
75 | Bool root;
|
---|
76 | } pict;
|
---|
77 | #endif
|
---|
78 | char raw_data[4];
|
---|
79 | } u;
|
---|
80 | } PanoramiXRes;
|
---|
81 |
|
---|
82 | #define FOR_NSCREENS_FORWARD(j) for(j = 0; j < PanoramiXNumScreens; j++)
|
---|
83 | #define FOR_NSCREENS_BACKWARD(j) for(j = PanoramiXNumScreens - 1; j >= 0; j--)
|
---|
84 | #define FOR_NSCREENS(j) FOR_NSCREENS_FORWARD(j)
|
---|
85 |
|
---|
86 | #define BREAK_IF(a) if ((a)) break
|
---|
87 | #define IF_RETURN(a,b) if ((a)) return (b)
|
---|
88 |
|
---|
89 | #define FORCE_ROOT(a) { \
|
---|
90 | int _j; \
|
---|
91 | for (_j = PanoramiXNumScreens - 1; _j; _j--) \
|
---|
92 | if ((a).root == WindowTable[_j]->drawable.id) \
|
---|
93 | break; \
|
---|
94 | (a).rootX += panoramiXdataPtr[_j].x; \
|
---|
95 | (a).rootY += panoramiXdataPtr[_j].y; \
|
---|
96 | (a).root = WindowTable[0]->drawable.id; \
|
---|
97 | }
|
---|
98 |
|
---|
99 | #define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)
|
---|
100 |
|
---|
101 | #define SKIP_FAKE_WINDOW(a) if(!LookupIDByType(a, XRT_WINDOW)) return
|
---|
102 |
|
---|
103 | #endif /* _PANORAMIX_H_ */
|
---|