File: mdraw_text_extents.3m17n

package info (click to toggle)
m17n-docs 1.6.2-2
  • links: PTS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch, wheezy
  • size: 22,492 kB
  • ctags: 1,495
  • sloc: sh: 1,032; makefile: 406; ansic: 206; perl: 108
file content (142 lines) | stat: -rw-r--r-- 3,387 bytes parent folder | download | duplicates (3)
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>.