OpenRM - RM Library (rmtext.c)

## Index of OpenRM - RM Library

     RMenum rmTextPropsSetAttribs (RMtextProps *toModify,
    		               int fontEnum,
    			       int sizeEnum,
    			       RMenum boldEnum,
    			       RMenum italicEnum,
    			       RMenum hJustifyEnum,
    			       RMenum vJustifyEnum)

     RMtextProps *toModify - a handle to an RMtextProps object (modified).

     int fontEnum - an integer value that specifies a font. Must be one of
        RM_FONT_SERIF, RM_FONT_SANS, RM_FONT_MONO, RM_FONT_SYMBOL or
        RM_FONT_DINGBATS (input).

     int sizeEnum - an integer value that specifies a typeface size. Must
        be one of RM_FONT_XXS, RM_FONT_XS, RM_FONT_S, RM_FONT_M,
        RM_FONT_L, RM_FONT_XL or RM_FONT_XXL (input).

     RMenum boldEnum - an integer value that indicates if an emboldened
        typeface should be used. Must be either RM_TRUE or RM_FALSE
        (input).

     RMenum italicEnum - an integer value that specifies if an italicized
        typeface should be used. Must be either RM_TRUE or RM_FALSE
        (input).

     RMenum hJustifyEnum - an RMenum value that dicates a horizontal
        justification policy for text. Must be one of RM_LEFT, RM_CENTER
        or RM_RIGHT (input).

     RMenum vJustifyEnum - an RMenum value that dictates a vertical
        justification policy for text. Must be one of RM_BOTTOM, RM_CENTER
        or RM_TOP (input).

Typeface properties in RM are specified by assiging an RMtextProps object to a scene graph node as a scene parameter. All descendent nodes that contain text will be rendered according to the specifications contained in the RMtextProps object. The intent of this object is to provide control over text rendering across all supported platforms with a single set of parameters.

This routine modifies an RMtextProps object to reflect the caller-supplied parameters. RM_CHILL is returned upon success, or RM_WHACKED upon failure.

Use rmTextPropsNew to create a new RMtextProps object, or rmTextPropsDelete to delete an old one that is no longer needed.

fontEnum specifies a typeface family. On the X11 platform, RM_FONT_SERIF corresponds to "adobe-times," RM_FONT_SANS to "adobe-helvetica," RM_FONT_MONO to "adobe-courier," RM_FONT_SYMBOL to "adobe-symbol" and RM_FONT_DINGBATS to "-*-*-zapfdingbats". On the Win32 platform, the values of "times", "helvetica", "courier", "symbol" and "zapfdingbats" are used.

sizeEnum specifies a particular point size for the face. RM_FONT_XXS, RM_FONT_XS, RM_FONT_S, RM_FONT_M, RM_FONT_L, RM_FONT_XL and RM_FONT_XXL correspond to 8, 10, 12, 14, 18, 24 and 34 points, respectively, on both Win32 and X11 platforms.

boldEnum and italicEnum control emboldening and italicization of a given typeface. These are specified with either RM_TRUE or RM_FALSE. Specifying RM_TRUE turns on either emboldening or italicization, while RM_FALSE turns them off.

Justification control is provided in both the horizontal and vertical directions. Text is positioned with the use of either a 2D or 3D coordinate at the RMprimitive level. Justification controls where the text string appears in relationship to the on-screen projection of the vertex coordinate. Left-justified text will cause the text string to appear to the right of the projected vertex. Right-justified text will appear to the left of the project vertex. Similarly, RM_TOP will cause the text string to appear below the projected vertex, and RM_BOTTOM will cause the text string to appear above the projected vertex.

librm library source file: rmtext.c

     RMenum rmTextPropsGetAttribs (const RMtextProps *toQuery,
    		               int *fontEnumReturn,
    			       int *sizeEnumReturn,
    			       RMenum *boldEnumReturn,
    			       RMenum *italicEnumReturn,
    			       RMenum *hJustifyReturn,
    			       RMenum *vJustifyReturn)

     const RMtextProps *toQuery - a handle to an RMtextProps object
        (input).

     int *fontEnumReturn, *sizeEnumReturn, *boldEnumReturn,
        *italicEnumReturn - handles to return caller-supplied integers
        (modified).

     RMenum hJustifyReturn, *vJustifyReturn - handles to return

Use this routine to obtain the current text properties from an RMtextProps object. For each non-null RMenum parameter, the corresponding attribute is copied from the RMtextProps object into caller-supplied memory.

Returns RM_CHILL upon success, or RM_WHACKED upon failure.

See rmTextPropsSetAttributes for a description of the meaning of each of the text property parameters.

librm library source file: rmtext.c