The XmStringDrawUnderline() routine takes the same parameters as XmStringDraw() with one addition.
The last parameter specifies the portion of the compound string that should be underlined. A compound string can be
wholly or partially underlined depending on whether the last parameter specifies the entire compound string or only a
substring of the string parameter.
It may be necessary to get dimensional information about a compound string in order to know where to place it within
the window when it is drawn. You may also want this data to determine the optimal or desired width and height of a
widget in case you have to provide a geometry callback method. When a call to XtQueryGeometry is made, a
widget that contains compound strings may need to tell the calling function the dimensions it needs to render its
compound strings adequately. Motif provides the following routines to help you determine compound string
dimensions:
XmStringBaseLine()
XmStringExtent()
XmStringHeight()
XmStringWidth()
Each of these functions takes fontlist (XmFontList) and string (XmString) parameters. The font list is
dependent on the widget associated with the string, but there is no requirement that you must use a string that is
associated with a widget. If you just want to get the dimensions of a particular compound string rendered using an
arbitrary font or font set, you can create a font list manually, as described in Section #sfontlist.
XmStringBaseline() returns the number of pixels between the top of the character ...