00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00040 #ifndef _DMXEXTENSION_H_
00041 #define _DMXEXTENSION_H_
00042
00045 typedef struct {
00046 const char *displayName;
00047 int logicalScreen;
00048
00049 unsigned int screenWindowWidth;
00050 unsigned int screenWindowHeight;
00051 int screenWindowXoffset;
00052 int screenWindowYoffset;
00053
00054 unsigned int rootWindowWidth;
00055 unsigned int rootWindowHeight;
00056 int rootWindowXoffset;
00057 int rootWindowYoffset;
00058
00059 int rootWindowXorigin;
00060 int rootWindowYorigin;
00061 } DMXScreenAttributesRec, *DMXScreenAttributesPtr;
00062
00064 typedef struct {
00065 int screen;
00066 Window window;
00067 xRectangle pos;
00068 xRectangle vis;
00069 } DMXWindowAttributesRec, *DMXWindowAttributesPtr;
00070
00073 typedef struct {
00074 int width;
00075 int height;
00076 int shiftX;
00077 int shiftY;
00078 } DMXDesktopAttributesRec, *DMXDesktopAttributesPtr;
00079
00081 typedef struct {
00082 const char *name;
00083 int inputType;
00084 int physicalScreen;
00085 int physicalId;
00086 int isCore;
00087 int sendsCore;
00088 int detached;
00089 } DMXInputAttributesRec, *DMXInputAttributesPtr;
00090
00091
00092 extern unsigned long dmxGetNumScreens(void);
00093 extern void dmxForceWindowCreation(WindowPtr pWindow);
00094 extern void dmxFlushPendingSyncs(void);
00095 extern Bool dmxGetScreenAttributes(int physical,
00096 DMXScreenAttributesPtr attr);
00097 extern Bool dmxGetWindowAttributes(WindowPtr pWindow,
00098 DMXWindowAttributesPtr attr);
00099 extern void dmxGetDesktopAttributes(DMXDesktopAttributesPtr attr);
00100 extern int dmxGetInputCount(void);
00101 extern int dmxGetInputAttributes(int deviceId,
00102 DMXInputAttributesPtr attr);
00103 extern int dmxAddInput(DMXInputAttributesPtr attr, int *deviceId);
00104 extern int dmxRemoveInput(int deviceId);
00105
00106 extern int dmxConfigureScreenWindows(int nscreens,
00107 CARD32 *screens,
00108 DMXScreenAttributesPtr attribs,
00109 int *errorScreen);
00110
00111 extern int dmxConfigureDesktop(DMXDesktopAttributesPtr attribs);
00112
00113
00114 extern void dmxUpdateScreenResources(ScreenPtr pScreen,
00115 int x, int y, int w, int h);
00116
00117 extern int dmxAttachScreen(int idx, DMXScreenAttributesPtr attr);
00118 extern int dmxDetachScreen(int idx);
00119 #endif