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
00040 #ifndef _DMXEXT_H_
00041 #define _DMXEXT_H_
00042
00043
00044
00045 #define DmxBadXinerama 1001
00046 #define DmxBadValue 1002
00047 #define DmxBadReply 1003
00048
00049 #define DMXScreenWindowWidth (1L<<0)
00050 #define DMXScreenWindowHeight (1L<<1)
00051 #define DMXScreenWindowXoffset (1L<<2)
00052 #define DMXScreenWindowYoffset (1L<<3)
00053 #define DMXRootWindowWidth (1L<<4)
00054 #define DMXRootWindowHeight (1L<<5)
00055 #define DMXRootWindowXoffset (1L<<6)
00056 #define DMXRootWindowYoffset (1L<<7)
00057 #define DMXRootWindowXorigin (1L<<8)
00058 #define DMXRootWindowYorigin (1L<<9)
00059
00060 #define DMXDesktopWidth (1L<<0)
00061 #define DMXDesktopHeight (1L<<1)
00062 #define DMXDesktopShiftX (1L<<2)
00063 #define DMXDesktopShiftY (1L<<3)
00064
00065 #define DMXInputType (1L<<0)
00066 #define DMXInputPhysicalScreen (1L<<1)
00067 #define DMXInputSendsCore (1L<<2)
00068
00069 #ifndef _DMX_SERVER_
00070
00073 typedef struct {
00074 char *displayName;
00075 int logicalScreen;
00076
00077 unsigned int screenWindowWidth;
00078 unsigned int screenWindowHeight;
00079 int screenWindowXoffset;
00080 int screenWindowYoffset;
00081
00082 unsigned int rootWindowWidth;
00083 unsigned int rootWindowHeight;
00084 int rootWindowXoffset;
00085 int rootWindowYoffset;
00086
00087 int rootWindowXorigin;
00088 int rootWindowYorigin;
00089 } DMXScreenAttributes;
00090
00093 typedef struct {
00094 int screen;
00095 Window window;
00096 XRectangle pos, vis;
00097 } DMXWindowAttributes;
00098
00101 typedef struct {
00102 unsigned int width;
00103 unsigned int height;
00104 int shiftX;
00105 int shiftY;
00106 } DMXDesktopAttributes;
00107
00110 typedef enum {
00111 DMXLocalInputType,
00112 DMXConsoleInputType,
00113 DMXBackendInputType
00114 } DMXInputEnum;
00115
00118 typedef struct {
00119 DMXInputEnum inputType;
00120 int physicalScreen;
00121 int physicalId;
00122 Bool isCore;
00123 Bool sendsCore;
00124 const char *name;
00125 Bool detached;
00126 } DMXInputAttributes;
00127
00128 _XFUNCPROTOBEGIN
00129
00130 extern Bool DMXQueryExtension(Display *dpy,
00131 int *event_basep, int *error_basep);
00132 extern Bool DMXQueryVersion(Display *dpy, int *major_version,
00133 int *minor_version, int *patch_version);
00134 extern Bool DMXSync(Display *dpy);
00135 extern Bool DMXForceWindowCreation(Display *dpy, Window window);
00136
00137
00138 extern Bool DMXGetScreenCount(Display *dpy, int *screen_count);
00139 extern Bool DMXGetScreenAttributes(Display *dpy,
00140 int screen,
00141 DMXScreenAttributes *attr);
00142 extern int DMXChangeScreensAttributes(Display *dpy,
00143 int screen_count,
00144 int *screens,
00145 int mask_count,
00146 unsigned int *masks,
00147 DMXScreenAttributes *attr,
00148 int *error_screen);
00149
00150 extern Bool DMXAddScreen(Display *dpy,
00151 const char *displayName,
00152 unsigned int mask,
00153 DMXScreenAttributes *attr,
00154 int *screen);
00155 extern Bool DMXRemoveScreen(Display *dpy, int screen);
00156
00157
00158
00159
00160
00161
00162
00163 extern Bool DMXGetWindowAttributes(Display *dpy, Window window,
00164 int *screen_count, int available_count,
00165 DMXWindowAttributes *attr);
00166
00167 extern Bool DMXGetDesktopAttributes(Display *dpy, DMXDesktopAttributes *attr);
00168 extern int DMXChangeDesktopAttributes(Display *dpy,
00169 unsigned int mask,
00170 DMXDesktopAttributes *attr);
00171
00172 extern Bool DMXGetInputCount(Display *dpy, int *input_count);
00173 extern Bool DMXGetInputAttributes(Display *dpy, int id,
00174 DMXInputAttributes *attr);
00175
00176 extern Bool DMXAddInput(Display *dpy,
00177 unsigned int mask,
00178 DMXInputAttributes *attr,
00179 int *id);
00180 extern Bool DMXRemoveInput(Display *dpy, int id);
00181
00182
00183 extern Bool DMXAddBackendInput(Display *dpy, int screen, int sendsCore,
00184 int *newId);
00185 extern Bool DMXAddConsoleInput(Display *dpy, const char *name, int sendsCore,
00186 int *newId);
00187
00188 _XFUNCPROTOEND
00189 #endif
00190 #endif