# dmxsync.h File Reference

Go to the source code of this file.

## Functions

void | dmxSyncActivate (const char *interval)
void | dmxSyncInit (void)
void | dmxSync (DMXScreenInfo *dmxScreen, Bool now)

## Detailed Description

Interface for sync support.

See also:
  dmxsync.c

## Function Documentation

void dmxSync | ( | DMXScreenInfo * | dmxScreen,
|  | Bool | now
| ) |  |

Request an XSync() to the display used by dmxScreen. If now is TRUE, call XSync() immediately instead of waiting for the next XSync() batching point. Note that if XSync() batching was deselected with dmxSyncActivate() before dmxSyncInit() was called, then no XSync() batching is performed and this function always calles XSync() immediately.

(Note that this function uses TimerSet but works correctly in the face of a server generation. See the source for details.)

If dmxScreen is NULL, then all pending syncs will be flushed immediately.

References dmxDoSync(), dmxFatal, dmxGeneration, dmxLog(), dmxSyncCallback(), dmxSyncInterval, dmxSyncPending, dmxSyncTimer, _DMXScreenInfo::name, and _DMXScreenInfo::needsSync.

Referenced by _dmxMoveCursor(), _dmxSetCursor(), dmxAddInput(), dmxAttachScreen(), dmxBackendCollectEvents(), dmxBackendProcessInput(), dmxBackendUpdatePosition(), dmxBECreateCursor(), dmxBECreatePixmap(), dmxBELoadFont(), dmxBitmapToRegion(), dmxChangeBorderWidth(), dmxChangeGC(), dmxChangePictureClip(), dmxChangeWindowAttributes(), dmxCheckFontPath(), dmxCheckFontPathElement(), dmxCommonMouOn(), dmxCommonSaveState(), dmxComposite(), dmxCompositeRects(), dmxConsoleCapture(), dmxConsoleUncapture(), dmxCopyArea(), dmxCopyPlane(), dmxCopyWindow(), dmxCreateAndRealizeWindow(), dmxCreateWindow(), dmxDestroyPicture(), dmxDestroyPictureClip(), dmxDestroyPixmap(), dmxDestroyWindow(), dmxDPMSInit(), dmxDPMSTerm(), dmxFillPolygon(), dmxFlushPendingSyncs(), dmxGetImage(), dmxImageText16(), dmxImageText8(), dmxInstallColormap(), dmxPolyArc(), dmxPolyFillArc(), dmxPolyFillRect(), dmxPolylines(), dmxPolyPoint(), dmxPolyRectangle(), dmxPolySegment(), dmxPolyText16(), dmxPolyText8(), dmxPositionWindow(), dmxProcRenderAddGlyphs(), dmxProcRenderCompositeGlyphs(), dmxProcRenderFreeGlyphs(), dmxProcRenderFreeGlyphSet(), dmxProcRenderSetPictureFilter(), dmxProcRenderSetPictureTransform(), dmxPutImage(), dmxRealizeWindow(), dmxReparentWindow(), dmxResizeRootWindow(), dmxResizeScreenWindow(), dmxResizeWindow(), dmxRestackWindow(), dmxSaveScreen(), dmxSetFontPath(), dmxSetShape(), dmxShadowUpdateProc(), dmxStoreColors(), dmxTrapezoids(), dmxTriangles(), dmxTriFan(), dmxTriStrip(), dmxUnrealizeWindow(), dmxValidatePicture(), and dmxWindowExposures().

void dmxSyncActivate | ( | const char * | interval | ) |

Request the XSync() batching optimization with the specified interval (in mS). If the interval is 0, 100mS is used. If the interval is less than 0, then the XSync() batching optimization is not requested (e.g., so the -syncbatch -1 command line option can turn off the default 100mS XSync() batching).

Note that the parameter to this routine is a string, since it will usually be called from ddxProcessArgument in dmxinit.c

References dmxSyncInterval.

Referenced by ddxProcessArgument().

void dmxSyncInit | ( | void |  | ) |

Initialize the XSync() batching optimization, but only if dmxSyncActivate was last called with a non-negative value.

References dmxInfo, dmxLog(), dmxSyncBlockHandler(), dmxSyncInterval, and dmxSyncWakeupHandler().

Referenced by InitOutput().