man mdraw_text_extents () - Compute text pixel width.

NAME

mdraw_text_extents - Compute text pixel width.

SYNOPSIS

int mdraw_text_extents (MFrame * frame, MText * mt, int from, int to, MDrawControl * control, MDrawMetric * overall_ink_return, MDrawMetric * overall_logical_return, MDrawMetric * overall_line_return)

DESCRIPTION

The mdraw_text_extents() function computes the width of text between from and to of M-text mt when it is drawn on a window of frame frame using the mdraw_text_with_control() function with the drawing control object control.

If overall_ink_return is not NULL, this function also computes the bounding box of character ink of the M-text, and stores the results in the members of the structure pointed to by overall_ink_return. If the M-text has a face specifying a surrounding box, the box is included in the bounding box.

If overall_logical_return is not NULL, this function also computes the bounding box that provides mininum spacing to other graphical features (such as surrounding box) for the M-text, and stores the results in the members of the structure pointed to by overall_logical_return.

If overall_line_return is not NULL, this function also computes the bounding box that provides mininum spacing to the other M-text drawn, and stores the results in the members of the structure pointed to by overall_line_return. This is a union of overall_ink_return and overall_logical_return if the members min_line_ascent, min_line_descent, max_line_ascent, and max_line_descent of control are all zero.

RETURN VALUE

This function returns the width of the text to be drawn in the unit of pixels. If control->two_dimensional is nonzero and the text is drawn in multiple physical lines, it returns the width of the widest line. If an error occurs, it returns -1 and assigns an error code to the external variable merror_code.

ERRORS

MERROR_RANGE