# dmxwindow.h File Reference

`#include "windowstr.h"`

Go to the source code of this file.

## Data Structures

struct | _dmxWinPriv

## Defines

#define | DMX_GET_WINDOW_PRIV(_pWin) ((dmxWinPrivPtr)(_pWin)->devPrivates[dmxWinPrivateIndex].ptr)

## Typedefs

typedef _dmxWinPriv | dmxWinPrivRec
typedef _dmxWinPriv * | dmxWinPrivPtr

## Functions

Bool | dmxInitWindow (ScreenPtr pScreen)
void | dmxCreateAndRealizeWindow (WindowPtr pWindow, Bool doSync)
Bool | dmxCreateWindow (WindowPtr pWindow)
Bool | dmxDestroyWindow (WindowPtr pWindow)
Bool | dmxPositionWindow (WindowPtr pWindow, int x, int y)
Bool | dmxChangeWindowAttributes (WindowPtr pWindow, unsigned long mask)
Bool | dmxRealizeWindow (WindowPtr pWindow)
Bool | dmxUnrealizeWindow (WindowPtr pWindow)
void | dmxRestackWindow (WindowPtr pWindow, WindowPtr pOldNextSib)
void | dmxWindowExposures (WindowPtr pWindow, RegionPtr prgn, RegionPtr other_exposed)
void | dmxPaintWindowBackground (WindowPtr pWindow, RegionPtr pRegion, int what)
void | dmxPaintWindowBorder (WindowPtr pWindow, RegionPtr pRegion, int what)
void | dmxCopyWindow (WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
void | dmxResizeWindow (WindowPtr pWindow, int x, int y, unsigned int w, unsigned int h, WindowPtr pSib)
void | dmxReparentWindow (WindowPtr pWindow, WindowPtr pPriorParent)
void | dmxChangeBorderWidth (WindowPtr pWindow, unsigned int width)
void | dmxResizeScreenWindow (ScreenPtr pScreen, int x, int y, int w, int h)
void | dmxResizeRootWindow (WindowPtr pRoot, int x, int y, int w, int h)
Bool | dmxBEDestroyWindow (WindowPtr pWindow)
void | dmxSetShape (WindowPtr pWindow)

## Variables

int | dmxWinPrivateIndex

## Detailed Description

Interface for window support.

See also:
  dmxwindow.c

## Define Documentation

#define DMX_GET_WINDOW_PRIV | ( | _pWin |  | ) | ((dmxWinPrivPtr)(_pWin)->devPrivates[dmxWinPrivateIndex].ptr)

| Get window private pointer.

## Typedef Documentation

typedef struct _dmxWinPriv * dmxWinPrivPtr

| Window private area.

typedef struct _dmxWinPriv dmxWinPrivRec

| Window private area.

## Function Documentation

Bool dmxBEDestroyWindow | ( | WindowPtr | pWindow | ) |

| Destroy pWindow on the back-end server.

void dmxChangeBorderWidth | ( | WindowPtr | pWindow,
|  | unsigned int | width
| ) |

| Change border width for pWindow to width pixels.

Bool dmxChangeWindowAttributes | ( | WindowPtr | pWindow,
|  | unsigned long | mask
| ) |

| Change the window attributes of pWindow.

void dmxCopyWindow | ( | WindowPtr | pWindow,
|  | DDXPointRec | ptOldOrg,
|  | RegionPtr | prgnSrc
| ) |

| Move pWindow on the back-end server. Determine whether or not it is on or offscreen, and realize it if it is newly on screen and the lazy window creation optimization is enabled.

void dmxCreateAndRealizeWindow | ( | WindowPtr | pWindow,
|  | Bool | doSync
| ) |

This function handles lazy window creation and realization. Window creation is handled by dmxCreateNonRootWindow(). It also handles any stacking changes that have occured since the window was originally created by calling dmxDoRestackWindow(). If the window is shaped, the shape is set on the back-end server by calling dmxDoSetShape(), and if the window has pictures (from RENDER) associated with it, those pictures are created on the back-end server by calling dmxCreatePictureList(). If doSync is TRUE, then dmxSync() is called.

Bool dmxCreateWindow | ( | WindowPtr | pWindow | ) |

| Create pWindow on the back-end server. If the lazy window creation optimization is enabled, then the actual creation and realization of the window is handled by dmxCreateAndRealizeWindow().

Bool dmxDestroyWindow | ( | WindowPtr | pWindow | ) |

| Destroy pWindow on the back-end server. If any RENDER pictures were created, destroy them as well.

Bool dmxInitWindow | ( | ScreenPtr | pScreen | ) |

| Initialize the private area for the window functions.

void dmxPaintWindowBackground | ( | WindowPtr | pWindow,
|  | RegionPtr | pRegion,
|  | int | what
| ) |

| Paint background of pWindow in pRegion.

void dmxPaintWindowBorder | ( | WindowPtr | pWindow,
|  | RegionPtr | pRegion,
|  | int | what
| ) |

| Paint window border for pWindow in pRegion.

Bool dmxPositionWindow | ( | WindowPtr | pWindow,
|  | int | x,
|  | int | y
| ) |

| Change the position of pWindow to be x, y.

Bool dmxRealizeWindow | ( | WindowPtr | pWindow | ) |

| Realize pWindow on the back-end server. If the lazy window creation optimization is enabled, the window is only realized when it at least partially overlaps the screen.

void dmxReparentWindow | ( | WindowPtr | pWindow,
|  | WindowPtr | pPriorParent
| ) |

| Reparent pWindow on the back-end server.

void dmxResizeRootWindow | ( | WindowPtr | pRoot,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h
| ) |

| Change the location and size of the "root" window. Called from #dmxReconfigureRootWindow().

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

| Change the location and size of the "screen" window. Called from #dmxReconfigureScreenWindow().

void dmxResizeWindow | ( | WindowPtr | pWindow,
|  | int | x,
|  | int | y,
|  | unsigned int | w,
|  | unsigned int | h,
|  | WindowPtr | pSib
| ) |

| Resize pWindow on the back-end server. Determine whether or not it is on or offscreen, and realize it if it is newly on screen and the lazy window creation optimization is enabled.

void dmxRestackWindow | ( | WindowPtr | pWindow,
|  | WindowPtr | pOldNextSib
| ) |

| Handle window restacking. The actual restacking occurs in dmxDoRestackWindow().

void dmxSetShape | ( | WindowPtr | pWindow | ) |

| Set shape of pWindow on the back-end server.

Bool dmxUnrealizeWindow | ( | WindowPtr | pWindow | ) |

| Unrealize pWindow on the back-end server.

void dmxWindowExposures | ( | WindowPtr | pWindow,
|  | RegionPtr | prgn,
|  | RegionPtr | other_exposed
| ) |

| Handle exposures on pWindow. Since window exposures are handled in DMX, the events that are generated by the back-end server are redundant, so we eat them here.

## Variable Documentation

int dmxWinPrivateIndex

| Private index for Windows

Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4. </addres>