XGL Test Suite User's Guide
  Procure somente este livro
Fazer download desta apostila em PDF

Strokefont Test Descriptions

27

This chapter describes the Strokefont test programs. The following is defined for each test program:
  • Name of the test program
  • Test types (See the section "Denizen Test Types" on page 2 for the different test types.)
  • Description of the test program
  • Attributes tested by the program
  • Operators tested by the program
  • Output from the test program

Note - The testing verification for strokefonts are based on "hit and miss" targets and as such have no logical basis for derivation. As long as text appears on the screen, we conclude any failure is due to the test's failure to accurately calculate the expected location on the window raster.

· sf_font
Test Types:INDEX, SM
Description:Tests that xgl_stroke_font_create can be used to create various stroke fonts and that they can be rendered by setting the XGL_CTX_SFONT context attribute
Attributes Tested: XGL_CTX_SFONT
                    XGL_CTX_SFONT_0
                    XGL_CTX_STEXT_CHAR_HEIGHT
                    XGL_CTX_STEXT_COLOR
                    XGL_SFONT
Operators Tested:   xgl_object_create
                    xgl_object_set
                    xgl_stroke_text_3d
Output:             Renders the letter "X" appears in succession in the

following fonts: Roman_M, Roman, Roman_D, Roman_C, Roman_T, Italic_C, Italic_T, Greek_S, Greek_C, Script_S, Script_C, Cartographic, Cartographic_M, Symbol, and Miscellaneous_M.
· sf_attr
Test Types:INDEX, SM
Description:Checks that the values of various stroke font attributes, font name, font comment, monospace flag, and default character are correct for XGL 2.0 fonts
Attributes Tested: XGL_SFONT
Operators Tested: xgl_object_create
Output:· sf_ctx_attrNothing is displayed on the screen, as values returned by get calls are compared with what is expected.
Test Types:INDEX, SM
Description:Tests the various stroke fonts' context attributes, character height, character spacing, character expansion factor, text path, character up vector, text horizontal alignment, text vertical alignment, text precision, text color, and text slant angle.
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text_2d
                    xgl_object_get
Output:             The window raster remains the black background color.

· sf_dir
Test Types:INDEX, SM
Description:Tests that various direction vectors can be used as the fourth argument to xgl_stroke_text_3d to specify the plane on which texts are drawn
Attributes Tested: XGL_CTX_STEXT_CHAR_HEIGHT
Operators Tested: xgl_object_set
Output:.....The string "HGH" in succession (1) "HGH" appears as if it were rendered horizontally and rotated around the x-axis in the clockwise direction 180 degrees (y = 1.0 where Y_DOWN), (2) "HGH" appears as written (y = -1.0 makes y direction up), (3) "HGH" appears as if it were written from behind the window raster starting from left to right (x = -1), (4) "HGH" appears written on a 45-degree angle and with the individual letters flipped as if they were written going down the path instead of up, but on the other side of the window raster (x=-y), (5) "HGH" written horizontally, then rotated 180 degrees counterclockwise around the y-axis (x=-1) and then rotated 180 degrees vertically clockwise around the x-axis (y=-1) with appearances of a larger character expansion due to z=1.0, (6) "HGH" written as expected but sheared to produce a taller and narrower set of these same letters z=2.0, and (7) "HGH" written perpendicular to the window raster so only three dash marks indicate where the letters exhibit (z=-1).
· sf_extent
Test Types:INDEX, SM
Description:Tests that xgl_stroke_text_extent() returns the correct text extent
Attributes Tested: See Table 27-1, Column B at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text_2d
                    xgl_stroke_text_extent
Output:             Renders the letters "Xg  L *" horizontally in large letters

across the window raster, the letters "X g L" on the vector representing x = -1 with the text path vertical, and "X g L *" with the text path up and on the vector representing y = 1
· sf_hlhsr
Test Types:INDEX, SM
Description:Tests the hidden line-hidden surface removal of stroke font texts
Attributes Tested: See Table 27-2, Column A at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text_3d
Output:             Renders the letters "X G L" horizontally the "normal" way

and then rotated around the x-axis 180 degrees at the same location, but first with character spacing of 0.0 and then 1.0 so that only 1 "X" exists but two "G"s and two "L"s exist with the "G" of the second string coincident with the "L" of the first string
· sf_ctx_attr2
Test Types:INDEX, SM
Description:RGB version of sf_ctx_attr
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_set
xgl_stroke_text_2d
xgl_object_get
xgl_object_set

Output:.....Varies character height and displays "XGL" in succession at location 100,300 with character height 5.0, 10.0, 20.5, 53.4, 100.0, and 200.0 ("L" partially clipped by right window boundary).
Varies character spacing and displays "XGL" in succession at location 250,300 with character spacing -4.3 (text appears to be written from right to left), -2.6, -1.0 (characters written on top of one another), -0.5 (characters written snuggled inside each other's curvature), 0.0 (default), 0.5, 1.0, 2.6, and 4.3.
Varies character expansion and displays "XGL" in succession at location 400,300 with character spacing -1.0 (characters written on top of one another), -0.7, (characters expanded to fill up their location and half of their neighbors), 0.2 (characters sheared to narrow height with larger spaces between them), 0.5, 1.0 (default), 1.5 (characters expanded as though sheared to wider width), and 2.0.
Varies character text path and displays "XGL" in succession at location 250,250 with text path right (seen rotated around x-axis by 180 degrees because character up vector is y=-1.0), left (seen written from left to right and then 180-degree rotation around x-axis because character up vector is y=-1.0), up (seen written as if down and then rotated around 180-degrees from the x-axis), and down (seen written vertically down then rotated 180-degrees around the x-axis because the up vector is y=-1.0). Varies character up vector and displays "XGL" in succession at location 250,250 with character up vector (0.0,-0.1)(text upside down from left to right), (0.0, 1.0) displayed normally, (-1.0,-1.0) displayed along the outside of the 135-degree angle, and (1.0,1.0) displayed along the inside of the 135-degree angle.
Varies character horizontal alignment and displays "XGL" in succession at location 250,250 with horizontal alignment left, center, right, and normal.
Varies character horizontal alignment normal and vertical alignment and "LOCAL TEXT" is seen in succession at location 250,250 with vertical alignment top, cap, half, base, bottom, and normal.
Varies character text precision with all other variables normal except for height, which is set to 150.0, and character up (0.0,-0.1). Displays "B G L" in succession at location 200,250. The text appears as though it was written normally but rotated around the x-axis for 180 degrees due to the character up vector. Precision is varied through stroke, character, and string. Uses the same set up for "BGL" except the precision is set at stroke and text color is varied to red, yellow, and purple.
Varies character text color and the same string appears in red, yellow, and purple.
Varies character slant angle while everything else is normal except for height of 25.0 for text "XGX" at position 250,250. Angle at -89 and 89 degrees appears as a jagged horizontal line. Angle -60 and 60 degrees slants to right and left respectively. Angle 0 is normal position and +30 and -30 slant appropriately from this norm.
· sf_dir2
Test Types:RGB, SM
Description:RGB version of sf_dir
Attributes Tested: XGL_CTX_STEXT_COLOR
                    XGL_CTX_STEXT_CHAR_HEIGHT
Operators Tested:   xgl_object_set
                    xgl_stroke_text_3d
Output:             Same as sf_dir

· sf_extent2
Test Types:RGB, SM
Description:RGB version of sf_extent
Attributes Tested: See Table 27-1, Column B at the end of this chapter.
Operators Tested: xgl_object_set
Output:.....Same as sf_extent
· sf_font2
Test Types:RGB, SM
Description:RGB version of sf_font
Attributes Tested: XGL_CTX_SFONT
                    XGL_CTX_SFONT_0
                    XGL_CTX_STEXT_CHAR_HEIGHT
                    XGL_CTX_STEXT_COLOR
                    XGL_CTX_VIEW_TRANS
                    XGL_RAS_DEPTH
                    XGL_SFONT
                    XGL_TRANS_PRECONCAT
                    XGL_TRANS_REPLACE
Operators Tested:   xgl_object_get
                    xgl_transform_translate
                    xgl_transform_scale
                    xgl_object_set
                    xgl_object_create
                    xgl_stroke_text_2d
Output:             Same as sf_font

· sf_hlhsr2
Test Types:RGB, SM
Description:RGB version of sf_hlhsr
Attributes Tested: See Table 27-2, Column A at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text_3d
Output:             Same as sf_hlhsr

· sf_ctx_attr3
Test Types:RGB, SM
Description:3D version of sf_ctx_attr2
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text_3d
                    xgl_object_get
Output:             Same as sf_ctx_attr2

· sf_extent3
Test Types:RGB, SM
Description:3D version of sf_extent2
Attributes Tested: See Table 27-1, Column B at the end of this chapter.
Operators Tested: xgl_object_set
Output:· sf0The text string "X g L" with the directional vector in Y_DOWN so that the text is rotated 180 degrees around the x-axis in lime green. The same text string is displayed on the outside edge of the 135-degree angle as if it were actually written on the inside of the edge and rotated 180 degrees around this vector. Renders the same string vertically and then rotates each character 180 degrees in its place.
Test Types:RGB, SM
Description:Checks a 20 by 20 area for the expected location of RGB text "X" which has been translated and scaled to another location by virtue of the view transformation and rendered in 256 available colors
Attributes Tested: XGL_CTX_SFONT_0
                    XGL_CTX_STEXT_CHAR_HEIGHT
                    XGL_CTX_STEXT_COLOR
                    XGL_CTX_VIEW_TRANS
                    XGL_RAS_DEPTH
                    XGL_SFONT
                    XGL_TRANS_PRECONCAT
                    XGL_TRANS_REPLACE
Operators Tested:   xgl_object_get
                    xgl_transform_translate
                    xgl_transform_scale
                    xgl_object_create
                    xgl_stroke_text_2d
Output:             Stroke text "X" with all many colors (all colors in color for

8-bit raster and 256 random colors otherwise)
· sf2
Test Types:RGB, SM
Description:Tests all four character sets by drawing stroke texts using different character sets and checking that the right font is used
Attributes Tested: XGL_CTX_SFONT_0
                    XGL_CTX_SFONT_1
                    XGL_CTX_SFONT_2
                    XGL_CTX_SFONT_3
                    XGL_CTX_STEXT_CHAR_HEIGHT
                    XGL_CTX_STEXT_COLOR
                    XGL_RAS_DEPTH
                    XGL_SFONT
Operators Tested:   xgl_object_get
                    xgl_object_set
                    xgl_object_create
                    xgl_stroke_text_2d
Output:             Writes the letter "X" in succession using the character sets

Roman_C, Italic_C, Greek_C, and Miscellaneous_M
· sf4
Test Types:RGB, SM
Description:Tests linear depth-cueing of stroke text: vary text color, depth-cueing color, text direction, initial Z value, and Z slope (a line of identical characters with constantly changing depth). Checks for the right color at the center of each character.
Attributes Tested: See Table 27-2, Column B at the end of this chapter.
Operators Tested: xgl_object_set
Output:.....Renders the text string "XXXXXXXXXX" upside down (Y_DOWN) in succession in the combination of colors produced by the mixture of text color, which stays at a fixed color while looping through the depth cue colors. The text colors are white, purple, and two shades of blue, while the depth colors are black, green, and red.
· sf5
Test Types:INDEX, SM
Description:Indexed version of sf4
Attributes Tested: See Table 27-2, Column B at the end of this chapter.
Operators Tested: xgl_object_set
Output:· sf_extent4Renders the text string "XXXXXXXXXX" upside down (Y_DOWN) in succession in the shaded combination of colors produced by the mixture of text color, which varies, and the depth cue color which is the index at the bottom of the color ramp yellow. The depth cue color is visible only when the z value for both the directional vector and the text position are close to the z maximum boundary value.
Test Types:INDEX, SM
Description:Tests that xgl_stroke_text_extent() uses XGL_CTX_SFONT_* attributes, not XGL_CTX_ANNOT_* attributes, when calculating the text extent.
Attributes Tested: See Table 27-2, Column C at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text_extent
                    xgl_stroke_text_2d
Output:             Writes the text string "X g  L" in succession varying the

text position, the character up vector, and the character spacing and expansion, while other various unapplicable annotation attributes are set
· sf_extent5
Test Types:INDEX, SM
Description:Sets XGL_CTX_SFONT_0 to different fonts and checks that xgl_stroke_text_extent() returns the correct text extent
Attributes Tested: See Table 27-1, Column B at the end of this chapter.
Operators Tested: xgl_object_set
Output:· sf_extent6Writes the letters "Xg L" in succession in Roman_c.phont, Italic_C.phont and Greek_C.phont with these characteristics: (1) normal appearance, (2) rendered along the line x = -y, and (3) rendered with the text path up and y=1 so the text is upside down in each position.
Test Types:INDEX, SM
Description:Tests that xgl_stroke_text_extent() returns the correct text extent for monoencoded strings
Attributes Tested: See Table 27-1, Column B at the end of this chapter.
Operators Tested: xgl_object_set
Output:.....Writes the letters "Xg L" in Roman_C.phont; the same text in Italic_C.phont along the line x = -y; and the same text in Greek_C.phont with the text path up and y=1 so the text is upside down in each position.
Renders text concatenated with two different fonts and strings, "X g L" in Italic_C.phont and "Sun" in Greek_C.phont with the text path up and y=1 so the text is upside down in each position.
Renders three different strings and three different fonts: string "Xg L" in Roman_C.phont concatenated with "Sun" in Italic_C.phont and concatenated with "text" in Greek_C.phont. The concatenated string is written along the line x = -y with the text path left.
· sf_plane_mask
Test Types:INDEX, SM
Description:Tests that the XGL_CTX_PLANE_MASK attribute applies to stroke font text
Attributes Tested: XGL_CTX_PLANE_MASK
                    XGL_CTX_STEXT_CHAR_HEIGHT
                    XGL_CTX_STEXT_COLOR
                    XGL_RAS_DEPTH
Operators Tested:   xgl_object_get
                    xgl_object_set
                    xgl_stroke_text
Output:             Renders the text "XGL" and expects the plane masked

color to be 0xff ^ i (loop value and actual bits set) as the expected color for 256 loops.
· sf_ras_op
Test Types:INDEX, SM
Description:Tests that the XGL_CTX_ROP attribute applies to stroke font text
Attributes Tested: See Table 27-1, Column C at the end of this chapter.
Operators Tested: xgl_object_set
                    xgl_stroke_text
Output:             Sixteen successions of the text "XGL" in the colors black,

white, black, green, green, red, red, blue, blue, light green, light green, light blue, light blue, light red, light red, and white
· sf_mono_ctx_attr
Test Types:INDEX, SM
Description:Tests the various stroke fonts context attributes in indexed color mode using monoencoded strings
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
Output:· sf_mono_ctx_attr2The window raster remains the white background color.
Test Types:RGB, SM
Description:...Tests the various stroke fonts context attributes in RGB mode using monoencoded strings
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_object_set
                    xgl_stroke_text_2d
Output:             Same as sf_ctx_attr2

· sf_mono_ctx_attr3
Test Types:RGB, SM
Description:Tests the various stroke fonts context attributes in 3D RGB mode using monoencoded strings.
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_object_create
                    xgl_object_set
                    xgl_stroke_text_3d
Output:             Same as sf_mono_ctx_attr2 because directional vector
                    places text as normally read

· sf_mono_ctx_attr4
Test Types:RGB, SM
Description:Tests the various stroke fonts context attributes in indexed color mode using monoencoded strings and XGL_CHAR_ISO character encoding
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
Output:· sf_mono_ctx_attr5Same as sf_mono_ctx_attr2
Test Types:RGB, SM
Description:Tests the various stroke fonts context attributes in 3D RGB mode using monoencoded strings and XGL_CHAR_ISO character encoding.
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
Output:· sf_mono_hlhsrSame as sf_mono_ctx_attr2
Test Types:INDEX, SM
Description:Tests the hidden line-hidden surface removal of indexed color stroke font texts using monoencoded strings
Attributes Tested: XGL_3D_CTX_HLHSR_MODE
XGL_MULTI_STR
XGL_ILLUM_NONE
XGL_CTX_NEW_FRAME_ACTION
XGL_SFONT
XGL_CTX_NEW_FRAME_CLEAR
XGL_CTX_NEW_FRAME_HLHSR_ACTION
XGL_CTX_STEXT_CHAR_ENCODING
XGL_CTX_STEXT_CHAR_HEIGHT
XGL_CTX_STEXT_CHAR_SPACING
XGL_CTX_STEXT_COLOR
XGL_HLHSR_Z_BUFFER,

Operators Tested: xgl_object_set
Output:· sf_mono_hlhsr2The letters "X G L" with "X" from Roman_C and "GL" from Italic_C written horizontally upside down due to directional vectors y= 0 (Y_DOWN), but with the first text produced with character spacing of 0.0 and then 1.0. The appearance is such that only one "X" exists but two "G"s and two "L"s exist with the "G" of the second string coincident with the "L" of the first string.
Test Types:RGB, SM
Description:...Tests the hidden line-hidden surface removal of RGB stroke font texts using monoencoded strings
Attributes Tested: XGL_3D_CTX_HLHSR_MODE
                    XGL_3D_CTX_SURF_FRONT_ILLUMINATION
                    XGL_CHAR_ISO
                    XGL_SFONT
                    XGL_CTX_NEW_FRAME_ACTION
                    XGL_ILLUM_NONE
                    XGL_CTX_NEW_FRAME_CLEAR
                    XGL_CTX_NEW_FRAME_HLHSR_ACTION
                    XGL_CTX_STEXT_CHAR_ENCODING
                    XGL_CTX_STEXT_CHAR_HEIGHT
                    XGL_MULTI_STR
                    XGL_CTX_STEXT_CHAR_SPACING
                    XGL_CTX_STEXT_COLOR
                    XGL_HLHSR_Z_BUFFER
Operators Tested:   xgl_object_set
                    xgl_object_create
                    xgl_stroke_text_3d
Output:             Same as sf_mono_hlhsr

· at0
Test Types:RGB, SM
Description:Tests the various annotation text context attributes in 2D RGB mode
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
Output:· at1Same as sf_ctx_attr2
Test Types:RGB, SM
Description:3D version of at0
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get xgl_object_set xgl_annotation_text
Output:· at2Same as sf_ctx_attr2
Test Types:RGB, SM
Description:Tests XGL_CTX_ATEXT_STYLE: no line drawn for normal style and line drawn for line style. Renders in succession the text "" with both a nonzero text position and annotation position while changing the ANNOT_STYLE from expecting no leader line to leader line.
Attributes Tested: XGL_ATEXT_STYLE_LINE
                    XGL_ATEXT_STYLE_NORMAL
                    XGL_CTX_ATEXT_STYLE
                    XGL_CTX_BACKGROUND_COLOR
                    XGL_CTX_LINE_COLOR
Operators Tested:   xgl_object_get
                    xgl_object_set
                    xgl_annotation_text
Output:             Renders eight green lines from text position to text
                    position plus annotation position

· at3
Test Types:RGB, SM
Description:3D version of at2
Attributes Tested: XGL_ATEXT_STYLE_LINE

Operators Tested: xgl_object_get
Output:.....Renders eight green lines from text position to text position plus annotation position
· at6
Test Types:RGB, INDEX
Description:Tests annotation text HLHSR. Draws two strings at the same position but with different depth and checks that the front one shows up; tries various combinations of depth. The annotation position is always held at 0.
Attributes Tested: XGL_3D_CTX_HLHSR_MODE
                    XGL_CTX_ATEXT_CHAR_HEIGHT
                    XGL_CTX_NEW_FRAME_ACTION
                    XGL_CTX_NEW_FRAME_CLEAR
                    XGL_CTX_NEW_FRAME_HLHSR_ACTION
                    XGL_CTX_STEXT_CHAR_SPACING
                    XGL_CTX_STEXT_COLOR
                    XGL_HLHSR_Z_BUFFER
Operators Tested:   xgl_object_set
                    xgl_annotation_text
                    xgl_object_get
Output:             Draws the letters "X G L" in the default font Roman_M

written twice at the same location, but first with character spacing of 0.0 and then 1.0. The appearance is such that only one "X" exists, but two "G"s and two "L"s exist with the "G" of the second string coincident with the "L" of the first string. The z value for the text positions are varied and the smaller z value governs which color the coincident "X" appears as: (1) red, (2) green, and (3) green.
· at7
Test Types:RGB, SM
Description:Tests linear depth-cueing of annotation text: vary text color, depth-cueing color and text depth. Checks that the resulting character has the right color.
Attributes Tested: XGL_3D_CTX_DEPTH_CUE_COLOR
                    XGL_DEPTH_CUE_LINEAR
                    XGL_RAS_DEPTH
                    XGL_RAS_HEIGHT
                    XGL_RAS_WIDTH
                    XGL_VDC_MAP_ALL
Operators Tested:   xgl_object_get
                    xgl_object_set
                    xgl_annotation_text
Output:             Renders the text string "X" in succession in the

combination of colors produced by the mixture of text color, which stays at a fixed color while looping through the depth cue colors. The text colors are white, cyan, red, and two shades of blue while the depth colors are gray, yellow, green, and white.
· at8
Test Types:INDEX, SM
Description:Indexed version of at7
Attributes Tested: XGL_3D_CTX_DEPTH_CUE_MODE
                    XGL_CTX_ATEXT_CHAR_HEIGHT
                    XGL_CTX_STEXT_COLOR
                    XGL_CTX_VDC_MAP
                    XGL_CTX_VDC_WINDOW
                    XGL_DEPTH_CUE_LINEAR
                    XGL_RAS_HEIGHT
                    XGL_RAS_WIDTH
                    XGL_VDC_MAP_ALL
Operators Tested:   xgl_object_get
                    xgl_object_set
                    xgl_annotation_text
Output:             Renders a succession of "X" in the upper-left corner in

black, light blue, purple, light red, light purple, blue, and gray
· at9
Test Types:...RGB, SM
Description:...Tests scaled depth-cueing of annotation text: vary text color, depth-cueing color, reference planes, scales, and text depth. Checks that the resulting character has the right color.
Attributes Tested: See Table 27-2, Column B at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_object_set
                    xgl_annotation_text
                    xgl_stroke_text_extent
Output:             Renders a succession of "X" in the upper-left corner in
                    gray, white, blue, and purple

· at10
Test Types:RGB, SM
Description:Tests that 2D RGB annotation texts can be drawn with all four character sets
Attributes Tested: XGL_CTX_ATEXT_CHAR_HEIGHT
                    XGL_CTX_SFONT_0
                    XGL_CTX_SFONT_1
                    XGL_CTX_SFONT_2
                    XGL_CTX_SFONT_3
                    XGL_CTX_STEXT_COLOR
                    XGL_RAS_DEPTH,XGL_SFONT
Operators Tested:   xgl_object_get
                    xgl_annotation_text
                    xgl_object_set
                    xgl_object_create
Output:             Writes the letter "X" in succession using four character

sets in Roman_C, Italic_C, Greek_C, and Miscellaneous_M
· at11
Test Types:INDEX, SM
Description:Tests the hidden line-hidden surface removal of indexed color annotation texts
Attributes Tested: See Table 27-2, Column A at the end of this chapter.
Operators Tested: xgl_object_set
Output:· at_plane_maskRenders the letters "X G L" with fonts from default Roman_M twice, once with character spacing of 0.0 and then 1.0. The appearance is such that only one "X" exists but two "G"s and two "L"s exist with the "G" of the second string coincident with the "L" of the first string. The z value for the text positions are varied and the smaller z value governs which color the coincident "X" appears as: (1) red, (2) green, and (3) green.
Test Types:INDEX, SM
Description:Tests that the XGL_CTX_PLANE_MASK attribute applies to annotation text
Attributes Tested: XGL_CTX_ATEXT_CHAR_HEIGHT
                    XGL_CTX_PLANE_MASK
                    XGL_CTX_STEXT_COLOR
                    XGL_RAS_DEPTH
Operators Tested:   xgl_object_get
                    xgl_annotation_text
                    xgl_object_set
Output:             Renders the text "XGL" and expects the plane masked

color to be 0xff ^ i (loop value and actual bits set) as the expected color for 256 loops.
· at_ras_op
Test Types:INDEX, SM
Description:Tests that the XGL_CTX_ROP attribute applies to annotation text
Attributes Tested: See Table 27-1, Column C at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_annotation_text
                    xgl_object_set
Output:             Sixteen successions of the text "XGL" in the colors black,

white, black, green, green, red, red, blue, blue, light green, light green, light blue, light blue, light red, light red, and white.
· at_mono_ctx_attr
Test Types:INDEX, SM
Description:Tests the various annotation text context attributes in 2D indexed color mode using monoencoded strings
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_annotation_text
                    xgl_object_set
                    xgl_object_create
Output:             Same as sf_ctx_attr2

· at_mono_ctx_attr2
Test Types:RGB, INDEX
Description:Tests the various annotation text context attributes in 2D RGB mode using monoencoded strings
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
Output:· at_mono_ctx_attr3Same as sf_ctx_attr2
Test Types:RGB, INDEX
Description:Tests the various annotation text attributes in 3D RGB mode using monoencoded strings
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
Output:· at_mono_ctx_attr4Same as sf_ctx_attr2
Test Types:INDEX, SM
Description:...Tests the various annotation text context attributes in 2D indexed color mode using monoencoded strings and XGL_CHAR_ISO character encoding
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_annotation_text
                    xgl_object_set
                    xgl_object_create
Output:             Same as sf_ctx_attr2

· at_mono_ctx_attr5
Test Types:RGB, SM
Description:Tests the various annotation text attributes in 3D RGB mode using monoencoded strings and XGL_CHAR_ISO character encoding
Attributes Tested: See Table 27-1, Column A at the end of this chapter.
Operators Tested: xgl_object_get
                    xgl_annotation_text
                    xgl_object_set
                    xgl_object_create
Output:             Same as at_mono_ctx_attr2

· at_mono_hlhsr2
Test Types:RGB, SM
Description:Tests the hidden line-hidden surface removal of RGB annotation text using monoencoded strings
Attributes Tested: XGL_3D_CTX_HLHSR_MODE

XGL_MULTI_STR
XGL_SFONT

Operators Tested: xgl_annotation_text
                    xgl_object_set
Output:             Writes the letters "X G L" horizontally the "normal" way

but first with character spacing of 0.0 and then 1.0 so that only one "X" exists but two "G"s and two "L"s exist with the "G" of the second string coincident with the "L" of the first string.
· gc_sf2
Test Types:RGB, SM
Description:Checks all four character sets (2D RGB) with gcached strokefont
Attributes Tested: XGL_CTX_SFONT_0

XGL_RAS_DEPTH
XGL_SFONT

Operators Tested: xgl_object_create
Output:· gc_sf3Writes the letter "X" in succession using character sets Roman_C, Italic_C, Greek_C, and Miscellaneous_M
Test Types:RGB, CM
Description:Tests 3D character sets
Attributes Tested: XGL_CTX_SFONT_0
XGL_CTX_SFONT_1
XGL_CTX_SFONT_2
XGL_CTX_SFONT_3
XGL_CTX_STEXT_CHAR_HEIGHT
XGL_CTX_STEXT_COLOR

                    XGL_GCACHE
                    XGL_RAS_DEPTH
                    XGL_SFONT
Operators Tested:   xgl_object_create
                    xgl_object_get
                    xgl_gcache_stroke_text
                    xgl_context_display_gcache
                    xgl_object_destroy
Output:             Writes the letter "X" in succession using character sets

Roman_C, Italic_C, Greek_C, and Miscellaneous_M
Table 27-1
Column AColumn BColumn C
XGL_CTX_STEXT_ALIGN_VERTXGL_CTX_LINE_COLORXGL_CTX_ROP
XGL_CTX_STEXT_CHAR_ EXPANSION_FACTORXGL_CTX_STEXT_ALIGN_HORIZXGL_CTX_STEXT_CHAR_HEIGHT
XGL_CTX_STEXT_CHAR_HEIGHTXGL_CTX_STEXT_ALIGN_VERTXGL_CTX_STEXT_COLOR
XGL_CTX_STEXT_CHAR_SLANT_ ANGLEXGL_CTX_STEXT_CHAR_ EXPANSION_FACTORXGL_RAS_DEPTH
XGL_CTX_STEXT_CHAR_SPACINGXGL_CTX_STEXT_CHAR_HEIGHTXGL_ROP_AND
XGL_CTX_STEXT_CHAR_UP_ VECTORXGL_CTX_STEXT_CHAR_SPACINGXGL_ROP_AND_INVERTED
XGL_CTX_STEXT_COLORXGL_CTX_STEXT_CHAR_UP_ VECTORXGL_ROP_AND_REVERSE
XGL_CTX_STEXT_PATHXGL_CTX_STEXT_PATHXGL_ROP_CLEAR
XGL_CTX_STEXT_PRECISIONXGL_STEXT_PATH_UPXGL_ROP_COPY
XGL_STEXT_ALIGN_HORIZ_ CENTERXGL_STEXT_ALIGN_HORIZ_ CENTERXGL_ROP_COPY_INVERTED
XGL_STEXT_ALIGN_HORIZ_ NORMALXGL_STEXT_ALIGN_VERT_BOTTO MXGL_ROP_EQUIV
XGL_STEXT_ALIGN_HORIZ_RIGHTXGL_STEXT_ALIGN_VERT_HALFXGL_ROP_INVERT
XGL_STEXT_ALIGN_VERT_BASEXGL_ROP_NAND
XGL_STEXT_ALIGN_VERT_BOTTO MXGL_ROP_NOOP
XGL_STEXT_ALIGN_VERT_CAPXGL_ROP_NOR
XGL_STEXT_ALIGN_VERT_HALFXGL_ROP_OR
XGL_STEXT_ALIGN_VERT_ NORMALXGL_ROP_OR_INVERTED
XGL_STEXT_ALIGN_VERT_TOPXGL_ROP_OR_REVERSE
XGL_STEXT_PATH_DOWNXGL_ROP_SET
XGL_STEXT_PATH_LEFT
XGL_STEXT_PATH_RIGHT
XGL_ROP_XOR
Table 27-1 (Continued)
Column AColumn BColumn C
XGL_STEXT_PATH_UP
XGL_STEXT_PRECISION_CHAR
XGL_STEXT_PRECISION_STRING
XGL_STEXT_PRECISION_STROKE


Table 27-2
Column AColumn BColumn C
XGL_3D_CTX_HLHSR_MODEXGL_3D_CTX_DEPTH_CUE_COLORXGL_CTX_ATEXT_ALIGN_HORIZ
XGL_3D_CTX_SURF_FRONT_ ILLUMINATIONXGL_3D_CTX_DEPTH_CUE_MODEXGL_CTX_ATEXT_ALIGN_VERT
XGL_CTX_NEW_FRAME_ACTIONXGL_CTX_STEXT_CHAR_HEIGHTXGL_CTX_ATEXT_CHAR_HEIGHT
XGL_CTX_NEW_FRAME_CLEARXGL_CTX_STEXT_COLORXGL_CTX_ATEXT_CHAR_UP_ VECTOR
XGL_CTX_NEW_FRAME_HLHSR_ ACTIONXGL_CTX_VDC_MAPXGL_CTX_ATEXT_PATH
XGL_CTX_STEXT_CHAR_HEIGHTXGL_CTX_VDC_WINDOWXGL_CTX_LINE_COLOR
XGL_CTX_STEXT_CHAR_SPACINGXGL_DEPTH_CUE_LINEARXGL_CTX_STEXT_CHAR_ EXPANSION_FACTOR
XGL_CTX_STEXT_COLORXGL_RAS_HEIGHTXGL_CTX_STEXT_CHAR_SPACING
XGL_HLHSR_Z_BUFFERXGL_RAS_WIDTHXGL_STEXT_ALIGN_HORIZ_ CENTER
XGL_ILLUM_NONEXGL_VDC_MAP_ASPECTXGL_STEXT_ALIGN_VERT_BOTTO M

XGL_STEXT_ALIGN_VERT_HALF

XGL_STEXT_PATH_UP