VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.3.0.0/dmxextension.h@ 25078

Last change on this file since 25078 was 25078, checked in by vboxsync, 15 years ago

Additions/x11/x11include: exported and set eol-style on new headers

  • Property svn:eol-style set to native
File size: 4.6 KB
Line 
1/* $XFree86$ */
2/*
3 * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina.
4 *
5 * All Rights Reserved.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining
8 * a copy of this software and associated documentation files (the
9 * "Software"), to deal in the Software without restriction, including
10 * without limitation on the rights to use, copy, modify, merge,
11 * publish, distribute, sublicense, and/or sell copies of the Software,
12 * and to permit persons to whom the Software is furnished to do so,
13 * subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice (including the
16 * next paragraph) shall be included in all copies or substantial
17 * portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
23 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 * SOFTWARE.
27 */
28
29/*
30 * Author:
31 * Rickard E. (Rik) Faith <[email protected]>
32 * Kevin E. Martin <[email protected]>
33 *
34 */
35
36/** \file
37 * Interface for DMX extension support. These routines are called by
38 * function in Xserver/Xext/dmx.c. \see dmxextension.c */
39
40#ifndef _DMXEXTENSION_H_
41#define _DMXEXTENSION_H_
42
43/** Screen attributes. Used by #ProcDMXGetScreenAttributes and
44 * #ProcDMXChangeScreenAttributes. */
45typedef struct {
46 const char *displayName;
47 int logicalScreen;
48
49 unsigned int screenWindowWidth; /* displayName's coordinate system */
50 unsigned int screenWindowHeight; /* displayName's coordinate system */
51 int screenWindowXoffset; /* displayName's coordinate system */
52 int screenWindowYoffset; /* displayName's coordinate system */
53
54 unsigned int rootWindowWidth; /* screenWindow's coordinate system */
55 unsigned int rootWindowHeight; /* screenWindow's coordinate system */
56 int rootWindowXoffset; /* screenWindow's coordinate system */
57 int rootWindowYoffset; /* screenWindow's coordinate system */
58
59 int rootWindowXorigin; /* global coordinate system */
60 int rootWindowYorigin; /* global coordinate system */
61} DMXScreenAttributesRec, *DMXScreenAttributesPtr;
62
63/** Window attributes. Used by #ProcDMXGetWidowAttributes. */
64typedef struct {
65 int screen;
66 Window window;
67 xRectangle pos;
68 xRectangle vis;
69} DMXWindowAttributesRec, *DMXWindowAttributesPtr;
70
71/** Desktop attributes. Used by #ProcDMXGetDesktopAttributes and
72 * #ProcDMXChangeDesktopAttributes. */
73typedef struct {
74 int width;
75 int height;
76 int shiftX;
77 int shiftY;
78} DMXDesktopAttributesRec, *DMXDesktopAttributesPtr;
79
80/** Input attributes. Used by #ProcDMXGetInputAttributes. */
81typedef struct {
82 const char *name;
83 int inputType;
84 int physicalScreen;
85 int physicalId;
86 int isCore;
87 int sendsCore;
88 int detached;
89} DMXInputAttributesRec, *DMXInputAttributesPtr;
90
91
92extern unsigned long dmxGetNumScreens(void);
93extern void dmxForceWindowCreation(WindowPtr pWindow);
94extern void dmxFlushPendingSyncs(void);
95extern Bool dmxGetScreenAttributes(int physical,
96 DMXScreenAttributesPtr attr);
97extern Bool dmxGetWindowAttributes(WindowPtr pWindow,
98 DMXWindowAttributesPtr attr);
99extern void dmxGetDesktopAttributes(DMXDesktopAttributesPtr attr);
100extern int dmxGetInputCount(void);
101extern int dmxGetInputAttributes(int deviceId,
102 DMXInputAttributesPtr attr);
103extern int dmxAddInput(DMXInputAttributesPtr attr, int *deviceId);
104extern int dmxRemoveInput(int deviceId);
105
106extern int dmxConfigureScreenWindows(int nscreens,
107 CARD32 *screens,
108 DMXScreenAttributesPtr attribs,
109 int *errorScreen);
110
111extern int dmxConfigureDesktop(DMXDesktopAttributesPtr attribs);
112
113/* dmxUpdateScreenResources exposed for dmxCreateWindow in dmxwindow.c */
114extern void dmxUpdateScreenResources(ScreenPtr pScreen,
115 int x, int y, int w, int h);
116
117extern int dmxAttachScreen(int idx, DMXScreenAttributesPtr attr);
118extern int dmxDetachScreen(int idx);
119#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette