# dmxextension.h File Reference

Go to the source code of this file.

## Data Structures

struct | DMXScreenAttributesRec
struct | DMXWindowAttributesRec
struct | DMXDesktopAttributesRec
struct | DMXInputAttributesRec

## Typedefs

typedef struct DMXScreenAttributesRec * | DMXScreenAttributesPtr
typedef struct DMXWindowAttributesRec * | DMXWindowAttributesPtr
typedef struct DMXDesktopAttributesRec * | DMXDesktopAttributesPtr
typedef struct DMXInputAttributesRec * | DMXInputAttributesPtr

## Functions

unsigned long | dmxGetNumScreens (void)
void | dmxForceWindowCreation (WindowPtr pWindow)
void | dmxFlushPendingSyncs (void)
Bool | dmxGetScreenAttributes (int physical, DMXScreenAttributesPtr attr)
Bool | dmxGetWindowAttributes (WindowPtr pWindow, DMXWindowAttributesPtr attr)
void | dmxGetDesktopAttributes (DMXDesktopAttributesPtr attr)
int | dmxGetInputCount (void)
int | dmxGetInputAttributes (int deviceId, DMXInputAttributesPtr attr)
int | dmxAddInput (DMXInputAttributesPtr attr, int *deviceId)
int | dmxRemoveInput (int deviceId)
int | dmxConfigureScreenWindows (int nscreens, CARD32 *screens, DMXScreenAttributesPtr attribs, int *errorScreen)
int | dmxConfigureDesktop (DMXDesktopAttributesPtr attribs)
void | dmxUpdateScreenResources (ScreenPtr pScreen, int x, int y, int w, int h)
int | dmxAttachScreen (int idx, DMXScreenAttributesPtr attr)
int | dmxDetachScreen (int idx)

## Detailed Description

Interface for DMX extension support. These routines are called by function in Xserver/Xext/dmx.c.

See also:
  dmxextension.c

## Typedef Documentation

typedef struct DMXDesktopAttributesRec * DMXDesktopAttributesPtr

typedef struct DMXInputAttributesRec * DMXInputAttributesPtr

typedef struct DMXScreenAttributesRec * DMXScreenAttributesPtr

typedef struct DMXWindowAttributesRec * DMXWindowAttributesPtr

## Function Documentation

int dmxAddInput | ( | DMXInputAttributesPtr | attr,
|  | int * | id
| ) |  |

Add an input with the specified attributes. If the input is added, the physical id is returned in deviceId.

References dmxAdjustCursorBoundaries(), dmxInputAttachBackend(), dmxInputAttachConsole(), dmxSync(), DMXInputAttributesRec::inputType, DMXInputAttributesRec::name, DMXInputAttributesRec::physicalScreen, and DMXInputAttributesRec::sendsCore.

Referenced by ProcDMXAddInput().

int dmxAttachScreen | ( | int | idx,
|  | DMXScreenAttributesPtr | attr
| ) |  |

Reattach previously detached back-end screen.

References _DMXScreenInfo::beDepths, _DMXScreenInfo::beDisplay, _DMXScreenInfo::bePixmapFormats, _DMXScreenInfo::beVisuals, defaultFont, DMXScreenAttributesRec::displayName, dmxAddRemoveScreens, dmxBECreatePixmap(), dmxBECreateResources(), dmxBECreateScratchGCs(), dmxBECreateWindowTree(), dmxBELoadFont(), dmxBERestorePixmap(), dmxBERestoreRenderGlyph(), dmxBERestoreRenderPict(), dmxBEScreenInit(), dmxCheckForWM(), dmxCompareScreens(), dmxConfigureScreenWindows(), dmxForceExposures(), dmxGetColormaps(), dmxGetPixmapFormats(), dmxGetScreenAttribs(), dmxGetVisualInfo(), dmxLog(), dmxLogOutput(), dmxOpenDisplay(), dmxScreens, dmxSetErrorHandler(), dmxSync(), dmxWarning, and _DMXScreenInfo::name.

Referenced by ProcDMXAddScreen().

int dmxConfigureDesktop | ( | DMXDesktopAttributesPtr | attribs | ) |

Referenced by ProcDMXChangeDesktopAttributes().

int dmxConfigureScreenWindows | ( | int | nscreens,
|  | CARD32 * | screens,
|  | DMXScreenAttributesPtr | attribs,
|  | int * | errorScreen
| ) |  |

Referenced by dmxAttachScreen(), and ProcDMXChangeScreensAttributes().

int dmxDetachScreen | ( | int | idx | ) |

Detach back-end screen.

References _DMXScreenInfo::beDisplay, dmxAddRemoveScreens, dmxAdjustCursorBoundaries(), dmxBECloseScreen(), dmxBEDestroyResources(), dmxBEDestroyScratchGCs(), dmxBEDestroyWindowTree(), dmxBEFreePixmap(), dmxBESavePixmap(), dmxInputDetachAll(), dmxLog(), dmxLogOutput(), dmxScreens, and dmxWarning.

Referenced by ProcDMXRemoveScreen().

void dmxFlushPendingSyncs | ( | void |  | ) |

Flush pending syncs for all screens.

References dmxSync().

Referenced by ProcDMXForceWindowCreation(), ProcDMXGetWindowAttributes(), and ProcDMXSync().

void dmxForceWindowCreation | ( | WindowPtr | pWindow | ) |

Make sure that dmxCreateAndRealizeWindow has been called for pWindow.

References DMX_GET_WINDOW_PRIV, dmxCreateAndRealizeWindow(), and _dmxWinPriv::window.

Referenced by ProcDMXForceWindowCreation().

void dmxGetDesktopAttributes | ( | DMXDesktopAttributesPtr | attr | ) |

References dmxGlobalHeight, dmxGlobalWidth, DMXDesktopAttributesRec::height, DMXDesktopAttributesRec::shiftX, DMXDesktopAttributesRec::shiftY, and DMXDesktopAttributesRec::width.

Referenced by ProcDMXChangeDesktopAttributes(), and ProcDMXGetDesktopAttributes().

int dmxGetInputAttributes | ( | int | deviceId,
|  | DMXInputAttributesPtr | attr
| ) |  |

Return information about the device with id = deviceId. This information is primarily for the ProcDMXGetInputAttributes() function, which does not have access to the appropriate data structure.

References _DMXInputInfo::detached, DMXInputAttributesRec::detached, _DMXLocalInputInfo::deviceId, _DMXInputInfo::devs, DMX_LOCAL_TYPE_BACKEND, DMX_LOCAL_TYPE_COMMON, DMX_LOCAL_TYPE_CONSOLE, DMX_LOCAL_TYPE_LOCAL, dmxInputs, dmxNumInputs, _DMXLocalInputInfo::extType, DMXInputAttributesRec::inputType, _DMXLocalInputInfo::isCore, DMXInputAttributesRec::isCore, _DMXInputInfo::name, DMXInputAttributesRec::name, _DMXInputInfo::numDevs, _DMXLocalInputInfo::pDevice, DMXInputAttributesRec::physicalId, DMXInputAttributesRec::physicalScreen, _DMXInputInfo::scrnIdx, _DMXLocalInputInfo::sendsCore, and DMXInputAttributesRec::sendsCore.

Referenced by ProcDMXGetInputAttributes().

int dmxGetInputCount | ( | void |  | ) |

Return the total number of devices, not just dmxNumInputs. The number returned should be the same as that returned by XListInputDevices.

References dmxInputs, and dmxNumInputs.

Referenced by dmxInputLogDevices(), and ProcDMXGetInputCount().

unsigned long dmxGetNumScreens | ( | void |  | ) |

Return the value of dmxNumScreens -- the total number of backend screens in use (these are logical screens and may be larger than the number of backend displays).

References dmxNumScreens.

Referenced by ProcDMXGetScreenAttributes(), and ProcDMXGetScreenCount().

Bool dmxGetScreenAttributes | ( | int | physical,
|  | DMXScreenAttributesPtr | attr
| ) |  |

This routine provides information to the DMX protocol extension about a particular screen.

References DMXScreenAttributesRec::displayName, dmxNumScreens, dmxScreens, _DMXScreenInfo::index, DMXScreenAttributesRec::logicalScreen, _DMXScreenInfo::name, _DMXScreenInfo::rootHeight, _DMXScreenInfo::rootWidth, DMXScreenAttributesRec::rootWindowHeight, DMXScreenAttributesRec::rootWindowWidth, DMXScreenAttributesRec::rootWindowXoffset, DMXScreenAttributesRec::rootWindowXorigin, DMXScreenAttributesRec::rootWindowYoffset, DMXScreenAttributesRec::rootWindowYorigin, _DMXScreenInfo::rootX, _DMXScreenInfo::rootXOrigin, _DMXScreenInfo::rootY, _DMXScreenInfo::rootYOrigin, DMXScreenAttributesRec::screenWindowHeight, DMXScreenAttributesRec::screenWindowWidth, DMXScreenAttributesRec::screenWindowXoffset, DMXScreenAttributesRec::screenWindowYoffset, _DMXScreenInfo::scrnHeight, _DMXScreenInfo::scrnWidth, _DMXScreenInfo::scrnX, and _DMXScreenInfo::scrnY.

Referenced by ProcDMXAddScreen(), ProcDMXChangeScreensAttributes(), and ProcDMXGetScreenAttributes().

Bool dmxGetWindowAttributes | ( | WindowPtr | pWindow,
|  | DMXWindowAttributesPtr | attr
| ) |  |

This routine provides information to the DMX protocol extension about a particular window.

References DMX_GET_WINDOW_PRIV, _dmxWinPriv::offscreen, DMXWindowAttributesRec::pos, DMXWindowAttributesRec::screen, DMXWindowAttributesRec::vis, _dmxWinPriv::window, and DMXWindowAttributesRec::window.

Referenced by dmxPopulate().

int dmxRemoveInput | ( | int | id | ) |

Remove the input with physical id id.

References dmxInputDetachId().

Referenced by ProcDMXRemoveInput().

void dmxUpdateScreenResources | ( | ScreenPtr | pScreen,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h
| ) |  |

Update DMX's screen resources to match those of the newly moved and/or resized "root" window.

References _DMXScreenInfo::beXDPI, _DMXScreenInfo::beYDPI, and dmxScreens.

Referenced by dmxCreateWindow().