1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA)
.\" Copyright (C) 2001-2011
.\" National Institute of Advanced Industrial Science and Technology (AIST)
.\" This file is part of the m17n library documentation.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Section, no Front-Cover Texts,
.\" and no Back-Cover Texts. A copy of the license is included in the
.\" appendix entitled "GNU Free Documentation License".
.TH "mdraw_text_extents" 3m17n "12 Jan 2011" "Version 1.6.2" "The m17n Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
mdraw_text_extents \- Compute text pixel width.
.SH SYNOPSIS
int
\fBmdraw_text_extents\fP (\fBMFrame\fP *
\fIframe\fP, \fBMText\fP *
\fImt\fP, int
\fIfrom\fP, int
\fIto\fP, \fBMDrawControl\fP *
\fIcontrol\fP, \fBMDrawMetric\fP *
\fIoverall_ink_return\fP, \fBMDrawMetric\fP *
\fIoverall_logical_return\fP, \fBMDrawMetric\fP *
\fIoverall_line_return\fP)
.SH DESCRIPTION
Compute text pixel width. The
.ft B
mdraw_text_extents()
.ft R
function computes the width of text between
.ft B
from
.ft R
and
.ft B
to
.ft R
of M\-text
.ft B
mt
.ft R
when it is drawn on a window of frame
.ft B
frame
.ft R
using the
.ft B
mdraw_text_with_control()
.ft R
function with the drawing control object
.ft B
control\fP.
.ft R
.PP
If
.ft B
overall_ink_return
.ft R
is not
.ft C
NULL\fP,
.ft R
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
.ft B
overall_ink_return\fP.
.ft R
If the M\-text has a face specifying a surrounding box, the box is included in the bounding box.
.PP
If
.ft B
overall_logical_return
.ft R
is not
.ft C
NULL\fP,
.ft R
this function also computes the bounding box that provides minimum 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
.ft B
overall_logical_return\fP.
.ft R
.PP
If
.ft B
overall_line_return
.ft R
is not
.ft C
NULL\fP,
.ft R
this function also computes the bounding box that provides minimum spacing to the other M\-text drawn, and stores the results in the members of the structure pointed to by
.ft B
overall_line_return\fP.
.ft R
This is a union of
.ft B
overall_ink_return
.ft R
and
.ft B
overall_logical_return
.ft R
if the members min_line_ascent, min_line_descent, max_line_ascent, and max_line_descent of
.ft B
control
.ft R
are all zero.
.PP
.SH RETURN VALUE
.PP
.RS 4
This function returns the width of the text to be drawn in the unit of pixels. If
.ft B
control\->two_dimensional
.ft R
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
.ft B
merror_code\fP.
.ft R
.RE
.PP
.SH ERRORS
.PP
.RS 4
\fCMERROR_RANGE
.ft R
.RE
.PP
.SH COPYRIGHT
Copyright (C) 2001 Information\-technology Promotion Agency (IPA)
.br
Copyright (C) 2001\-2011 National Institute of Advanced Industrial Science and Technology (AIST)
.br
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License
<http://www.gnu.org/licenses/fdl.html>.
|