NAME
hwText - create 3-dimensional, extruded text
PROPERTIES
Data 0S The string to be displayed
Surface 3O 3 hwSurface objects defining front, side, and
back surface properties
Pos 3F The position of the starting point of the text
Dir 3F The direction the baseline of the text should follow
Up 3F The "up" direction of each character
Scale 1F The relative size of each character
Extrude 3F The extrusion distance in X, Y, and Z
Align 3I Where the text is to be aligned in each of the
three axes
DEFAULTS
Data NULL
Surface Default hwSurfaces
Pos {0,0,0}
Dir {1,0,0}
Up {0,1,0}
Scale 1
Extrude {0,0,0.25}
Align {HW_ALIGN_CENTER, HW_ALIGN_CENTER, HW_ALIGN_CENTER}
DESCRIPTION
The hwText class creates 3-dimensional extruded text based on an
ASCII string. Each face of the extrusion (front, side, and back)
may have separate surface attributes. The text starts at the given
Pos, proceeds along the given Dir, and has the give Up vector. The
Dir and Up vectors are automatically adjusted to be perpendicular to
each other. The Scale sets the size of the character, in MC units.
The Extrude is a vector which is used to displace the back surface
from the front surface. The Align parameter specifies the alignment
of the text string relative to the starting position; possible
values for the alignments are:
Align[0] (left-to-right alignment):
HW_TEXT_ALIGN_LEFT
HW_TEXT_ALIGN_CENTER
HW_TEXT_ALIGN_RIGHT
Align[1] (top-to-bottom alignment):
HW_TEXT_ALIGN_TOP
HW_TEXT_ALIGN_CENTER
HW_TEXT_ALIGN_BOTTOM
Align[2] (front-to-back alignment):
HW_TEXT_ALIGN_FRONT
HW_TEXT_ALIGN_CENTER
HW_TEXT_ALIGN_BACK
The Surface parameter is an array of three hwSurface objects,
defining the surface parameters of the text.
C EXAMPLE
/* Draw an extruded text string with blue front, red back,
* and white sides
*/
hwObject
text,
surf[3];
surf[0] = hwSurface->create( hwSurface );
surf[1] = hwSurface->create( hwSurface );
surf[2] = hwSurface->create( hwSurface );
HW_MODIFY_3F( surf[0], hwStrColor, 0, 0, 1 ); /* Blue */
HW_MODIFY_3F( surf[1], hwStrColor, 1, 1, 1 ); /* White */
HW_MODIFY_3F( surf[2], hwStrColor, 1, 0, 0 ); /* Red */
text = hwText->create( hwText );
text->modify( text, hwStrSurface, HW_MAKE_TYPE(HW_TYPE_OBJECT,3),
surf );
text->modify( text, hwStrData, HW_TYPE_STRING, "HoverWare!" );
HW_MODIFY_3F( text, hwStrExtrude, 0, 0, 0.25 );
text->draw( text, disp );
OBJECT FILE EXAMPLE
# Extruded red-white-and-blue text
hwText text {
Data = "HoverWare!"
Surface = {
hwSurface { Color = {0,0,1} },
hwSurface { Color = {1,1,1} },
hwSurface { Color = {1,0,0} }
}
Extrude = {0,0,0.25}
}
SEE ALSO
hw(3), hwSurface(3)