#include "gcstruct.h"
Go to the source code of this file.
Data Structures | |
struct | _dmxGCPriv |
Defines | |
#define | DMX_GET_GC_PRIV(_pGC) (dmxGCPrivPtr)dixLookupPrivate(&(_pGC)->devPrivates, dmxGCPrivateKey) |
#define | DMX_GC_FUNC_PROLOGUE(_pGC) |
#define | DMX_GC_FUNC_EPILOGUE(_pGC) |
Typedefs | |
typedef struct _dmxGCPriv | dmxGCPrivRec |
typedef struct _dmxGCPriv * | dmxGCPrivPtr |
Functions | |
Bool | dmxInitGC (ScreenPtr pScreen) |
Bool | dmxCreateGC (GCPtr pGC) |
void | dmxValidateGC (GCPtr pGC, unsigned long changes, DrawablePtr pDrawable) |
void | dmxChangeGC (GCPtr pGC, unsigned long mask) |
void | dmxCopyGC (GCPtr pGCSrc, unsigned long changes, GCPtr pGCDst) |
void | dmxDestroyGC (GCPtr pGC) |
void | dmxChangeClip (GCPtr pGC, int type, pointer pvalue, int nrects) |
void | dmxDestroyClip (GCPtr pGC) |
void | dmxCopyClip (GCPtr pGCDst, GCPtr pGCSrc) |
void | dmxBECreateGC (ScreenPtr pScreen, GCPtr pGC) |
Bool | dmxBEFreeGC (GCPtr pGC) |
Variables | |
DevPrivateKey | dmxGCPrivateKey |
Interface for GC support.
#define DMX_GC_FUNC_EPILOGUE | ( | _pGC | ) |
do { \ dmxGCPrivPtr _pGCPriv = DMX_GET_GC_PRIV(_pGC); \ DMX_WRAP(funcs, &dmxGCFuncs, _pGCPriv, (_pGC)); \ if (_pGCPriv->ops) \ DMX_WRAP(ops, &dmxGCOps, _pGCPriv, (_pGC)); \ } while (0)
Referenced by dmxChangeClip(), dmxChangeGC(), dmxCopyClip(), dmxCopyGC(), dmxDestroyClip(), dmxDestroyGC(), and dmxValidateGC().
#define DMX_GC_FUNC_PROLOGUE | ( | _pGC | ) |
do { \ dmxGCPrivPtr _pGCPriv = DMX_GET_GC_PRIV(_pGC); \ DMX_UNWRAP(funcs, _pGCPriv, (_pGC)); \ if (_pGCPriv->ops) \ DMX_UNWRAP(ops, _pGCPriv, (_pGC)); \ } while (0)
Referenced by dmxChangeClip(), dmxChangeGC(), dmxCopyClip(), dmxCopyGC(), dmxDestroyClip(), dmxDestroyGC(), and dmxValidateGC().
#define DMX_GET_GC_PRIV | ( | _pGC | ) | (dmxGCPrivPtr)dixLookupPrivate(&(_pGC)->devPrivates, dmxGCPrivateKey) |
Get private.
Referenced by dmxBECreateGC(), dmxBEFreeGC(), dmxChangeClip(), dmxChangeGC(), dmxCopyArea(), dmxCopyGC(), dmxCopyPlane(), dmxCreateGC(), dmxDestroyClip(), dmxFillPolygon(), dmxImageText16(), dmxImageText8(), dmxPolyArc(), dmxPolyFillArc(), dmxPolyFillRect(), dmxPolylines(), dmxPolyPoint(), dmxPolyRectangle(), dmxPolySegment(), dmxPolyText16(), dmxPolyText8(), dmxPutImage(), and dmxValidateGC().
typedef struct _dmxGCPriv * dmxGCPrivPtr |
typedef struct _dmxGCPriv dmxGCPrivRec |
GC private area.
void dmxBECreateGC | ( | ScreenPtr | pScreen, | |
GCPtr | pGC | |||
) |
Create the GC on the back-end server.
References _DMXScreenInfo::beDisplay, _DMXScreenInfo::beNumPixmapFormats, _DMXScreenInfo::bePixmapFormats, DMX_GET_GC_PRIV, dmxScreens, _dmxGCPriv::gc, and _DMXScreenInfo::scrnDefDrawables.
Referenced by dmxBECreateResources(), dmxBECreateScratchGCs(), and dmxCreateGC().
Bool dmxBEFreeGC | ( | GCPtr | pGC | ) |
Free the pGC on the back-end server.
References _DMXScreenInfo::beDisplay, DMX_GET_GC_PRIV, dmxScreens, and _dmxGCPriv::gc.
Referenced by dmxBEDestroyResources(), dmxBEDestroyScratchGCs(), and dmxDestroyGC().
void dmxChangeClip | ( | GCPtr | pGC, | |
int | type, | |||
pointer | pvalue, | |||
int | nrects | |||
) |
Change the clip rects for a GC.
References _DMXScreenInfo::beDisplay, DMX_GC_FUNC_EPILOGUE, DMX_GC_FUNC_PROLOGUE, DMX_GET_GC_PRIV, dmxScreens, and _dmxGCPriv::gc.
void dmxChangeGC | ( | GCPtr | pGC, | |
unsigned long | mask | |||
) |
Set the values in the graphics context on the back-end server associated with pGC's screen.
References _DMXScreenInfo::beDisplay, DMX_GC_FUNC_EPILOGUE, DMX_GC_FUNC_PROLOGUE, DMX_GET_GC_PRIV, DMX_GET_PIXMAP_PRIV, dmxFontPrivateIndex, dmxScreens, dmxSync(), _dmxFontPriv::font, _dmxGCPriv::gc, _dmxGCPriv::msc, and _dmxPixPriv::pixmap.
Referenced by dmxBECreateResources().
void dmxCopyClip | ( | GCPtr | pGCDst, | |
GCPtr | pGCSrc | |||
) |
Copy a GC's clip rects.
References DMX_GC_FUNC_EPILOGUE, and DMX_GC_FUNC_PROLOGUE.
void dmxCopyGC | ( | GCPtr | pGCSrc, | |
unsigned long | changes, | |||
GCPtr | pGCDst | |||
) |
Copy pGCSrc to pGCDst on the back-end server associated with pGCSrc's screen.
References _DMXScreenInfo::beDisplay, DMX_GC_FUNC_EPILOGUE, DMX_GC_FUNC_PROLOGUE, DMX_GET_GC_PRIV, dmxScreens, and _dmxGCPriv::gc.
Bool dmxCreateGC | ( | GCPtr | pGC | ) |
Create a graphics context on the back-end server associated /a pGC's screen.
References _DMXScreenInfo::beDisplay, DMX_GET_GC_PRIV, DMX_UNWRAP, DMX_WRAP, dmxBECreateGC(), dmxCreateGC(), dmxGCFuncs, dmxScreens, _dmxGCPriv::funcs, _dmxGCPriv::gc, _dmxGCPriv::msc, and _dmxGCPriv::ops.
Referenced by dmxCreateGC(), and dmxScreenInit().
void dmxDestroyClip | ( | GCPtr | pGC | ) |
Destroy a GC's clip rects.
References _DMXScreenInfo::beDisplay, DMX_GC_FUNC_EPILOGUE, DMX_GC_FUNC_PROLOGUE, DMX_GET_GC_PRIV, dmxScreens, and _dmxGCPriv::gc.
void dmxDestroyGC | ( | GCPtr | pGC | ) |
Destroy the graphics context, pGC and free the corresponding GC on the back-end server.
References _DMXScreenInfo::beDisplay, DMX_GC_FUNC_EPILOGUE, DMX_GC_FUNC_PROLOGUE, dmxBEFreeGC(), and dmxScreens.
Bool dmxInitGC | ( | ScreenPtr | pScreen | ) |
void dmxValidateGC | ( | GCPtr | pGC, | |
unsigned long | changes, | |||
DrawablePtr | pDrawable | |||
) |
Validate a graphics context, pGC, locally in the DMX server and recompute the composite clip, if necessary.
References DMX_GC_FUNC_EPILOGUE, DMX_GC_FUNC_PROLOGUE, DMX_GET_GC_PRIV, and _dmxGCPriv::ops.
DevPrivateKey dmxGCPrivateKey |