1991-2006
Silicon Graphics, Inc.
glXUseXFont
3G

# glXUseXFont

create bitmap display lists from an X font

## C Specification

                    void glXUseXFont
                    Font font
                    int first
                    int count
                    int listBase

## Parameters

`font`

  Specifies the font from which character glyphs are to be taken.

`first`

  Specifies the index of the first glyph to be taken.

`count`

  Specifies the number of glyphs to be taken.

`listBase`

  Specifies the index of the first display list to be generated.

## Description

`glXUseXFont` generates `count` display lists, named `listBase` through listBase + count - 1 , each containing a single glBitmap command. The parameters of the glBitmap command of display list listBase + i are derived from glyph first + i . Bitmap parameters xorig, yorig, width, and height are computed from font metrics as descent - 1 , - lbearing , rbearing - lbearing , and ascent + descent , respectively. xmove is taken from the glyph's width metric, and ymove is set to zero. Finally, the glyph's image is converted to the appropriate format for glBitmap.

Using `glXUseXFont` may be more efficient than accessing the X font and generating the display lists explicitly, both because the display lists are created on the server without requiring a round trip of the glyph data, and because the server may choose to delay the creation of each bitmap until it is accessed.

Empty display lists are created for all glyphs that are requested and are not defined in `font`. `glXUseXFont` is ignored if there is no current GLX context.

## Errors

`BadFont` is generated if `font` is not a valid font.

`GLXBadContextState` is generated if the current GLX context is in display-list construction mode.

`GLXBadCurrentWindow` is generated if the drawable associated with the current context of the calling thread is a window, and that window is no longer valid.

## See Also

glBitmap, glXMakeCurrent

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.