Distributed Multihead X  1.16.4
dmxfont.c File Reference
#include "dmx.h"
#include "dmxsync.h"
#include "dmxfont.h"
#include "dmxlog.h"
#include <X11/fonts/fontstruct.h>
#include "dixfont.h"
#include "dixstruct.h"

Macros

#define DMX_FONTPATH_DEBUG   0
 

Functions

static int dmxFontErrorHandler (Display *dpy, XErrorEvent *ev)
 
static char ** dmxGetFontPath (int *npaths)
 
static void dmxFreeFontPath (char **fp)
 
static Bool dmxCheckFontPathElement (DMXScreenInfo *dmxScreen, char *fp)
 
static int dmxSetFontPath (DMXScreenInfo *dmxScreen)
 
static int dmxCheckFontPath (DMXScreenInfo *dmxScreen, int *error)
 
static int dmxProcSetFontPath (ClientPtr client)
 
void dmxInitFonts (void)
 
void dmxResetFonts (void)
 
Bool dmxBELoadFont (ScreenPtr pScreen, FontPtr pFont)
 
Bool dmxRealizeFont (ScreenPtr pScreen, FontPtr pFont)
 
Bool dmxBEFreeFont (ScreenPtr pScreen, FontPtr pFont)
 
Bool dmxUnrealizeFont (ScreenPtr pScreen, FontPtr pFont)
 

Variables

static int(* dmxSaveProcVector [256])(ClientPtr)
 
static int dmxFontLastError
 

Detailed Description

This file provides support for fonts.

Macro Definition Documentation

#define DMX_FONTPATH_DEBUG   0

Function Documentation

Bool dmxBEFreeFont ( ScreenPtr  pScreen,
FontPtr  pFont 
)

Free pFont on the back-end associated with pScreen.

References _DMXScreenInfo::beDisplay, dmxFontPrivateIndex, dmxScreens, and _dmxFontPriv::font.

Referenced by dmxBEDestroyResources(), and dmxUnrealizeFont().

Bool dmxBELoadFont ( ScreenPtr  pScreen,
FontPtr  pFont 
)

Load the font, pFont, on the back-end server associated with pScreen. When a font is loaded, the font path on back-end server is first initialized to that specified on the command line with the -fontpath options, and then the font is loaded.

References _DMXScreenInfo::beDisplay, dmxCheckFontPathElement(), dmxError, dmxFontPath, dmxFontPrivateIndex, dmxFreeFontPath(), dmxGetFontPath(), dmxIgnoreBadFontPaths, dmxLog(), dmxScreens, dmxSetFontPath(), dmxSync(), dmxWarning, and _dmxFontPriv::font.

Referenced by dmxAttachScreen(), dmxBECreateResources(), and dmxRealizeFont().

static int dmxCheckFontPath ( DMXScreenInfo dmxScreen,
int *  error 
)
static
static Bool dmxCheckFontPathElement ( DMXScreenInfo dmxScreen,
char *  fp 
)
static
static int dmxFontErrorHandler ( Display *  dpy,
XErrorEvent *  ev 
)
static
static void dmxFreeFontPath ( char **  fp)
static

Referenced by dmxBELoadFont(), and dmxSetFontPath().

static char** dmxGetFontPath ( int *  npaths)
static

References dmxDebug, and dmxLog().

Referenced by dmxBELoadFont(), and dmxSetFontPath().

void dmxInitFonts ( void  )

Initialize font support. In addition to the screen function call pointers, DMX also hooks in at the ProcVector[] level. Here the old ProcVector function pointers are saved and the new ProcVector function pointers are initialized.

References dmxProcSetFontPath(), and dmxSaveProcVector.

Referenced by InitOutput().

static int dmxProcSetFontPath ( ClientPtr  client)
static

References dmxCheckFontPath(), dmxNumScreens, and dmxScreens.

Referenced by dmxInitFonts().

Bool dmxRealizeFont ( ScreenPtr  pScreen,
FontPtr  pFont 
)

Realize the font, pFont, on the back-end server associated with pScreen.

References _DMXScreenInfo::beDisplay, dmxBELoadFont(), dmxFontPrivateIndex, dmxScreens, _dmxFontPriv::font, and _dmxFontPriv::refcnt.

Referenced by dmxScreenInit().

void dmxResetFonts ( void  )

Reset font support by restoring the original ProcVector function pointers.

References dmxSaveProcVector.

Referenced by dmxCloseScreen().

static int dmxSetFontPath ( DMXScreenInfo dmxScreen)
static
Bool dmxUnrealizeFont ( ScreenPtr  pScreen,
FontPtr  pFont 
)

Unrealize the font, pFont, on the back-end server associated with pScreen.

References _DMXScreenInfo::beDisplay, dmxBEFreeFont(), dmxFontPrivateIndex, dmxScreens, _dmxFontPriv::font, and _dmxFontPriv::refcnt.

Referenced by dmxScreenInit().

Variable Documentation

int dmxFontLastError
static
int(* dmxSaveProcVector[256])(ClientPtr)
static

Referenced by dmxInitFonts(), and dmxResetFonts().


Generated on Tue Aug 18 2015 01:27:31 for Distributed Multihead X by doxygen 1.8.8