File: glyph_8hh-source.html

package info (click to toggle)
gfcui 2.3.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 43,420 kB
  • ctags: 18,023
  • sloc: cpp: 53,967; sh: 31,555; makefile: 1,322; perl: 108
file content (201 lines) | stat: -rw-r--r-- 14,258 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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>GTK+ Foundation Classes</title>
  <link href="gfc.css" rel="stylesheet" type="text/css">
  <meta content="The GFC Development Team" name="author">
  <meta content="Core Library Reference Manual" name="description">
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(243, 244, 248);"
 alink="#000099" link="#000099" vlink="#990099">
<table style="text-align: left; width: 1227px; height: 117px;"
 border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td
 style="text-align: center; background-color: rgb(255, 255, 255); width: 220px; vertical-align: top;"><img
 alt="GFC Logo" src="../images/gfc.png"
 style="width: 207px; height: 92px;"></td>
      <td
 style="text-align: center; background-color: rgb(87, 107, 152); vertical-align: middle;"><img
 alt="GFC Title Logo" src="../images/gfc-title.png"
 style="width: 418px; height: 76px;"><br>
      </td>
    </tr>
    <tr>
      <td
 style="text-align: center; background-color: rgb(65, 77, 104); vertical-align: middle;"><big><span
 style="color: rgb(255, 255, 153); font-weight: bold;">Reference Manual</span></big><br>
      </td>
      <td
 style="text-align: center; background-color: rgb(148, 164, 200); vertical-align: middle;"><small
 style="font-family: helvetica,arial,sans-serif;"><a
 href="../html/index.html">Main Page</a>&nbsp; |&nbsp; <a
 href="../html/namespaces.html">Namespace List</a>&nbsp; |&nbsp; <a
 href="classes.html">Alphabetical List</a>&nbsp; |&nbsp; <a
 href="../html/annotated.html">Class List</a>&nbsp; |&nbsp; <a
 href="../html/files.html">File List</a></small><br>
      </td>
    </tr>
  </tbody>
</table>
<small> </small>
</body>
</html>
<!-- Generated by Doxygen 1.3.8 -->
<h1>glyph.hh</h1><a href="glyph_8hh.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/*  GFC-UI: GTK+ Foundation Classes (User Interface Library)</span>
00002 <span class="comment"> *  Copyright (C) 2002-2004 The GFC Development Team.</span>
00003 <span class="comment"> *</span>
00004 <span class="comment"> *  This program is free software; you can redistribute it and/or modify</span>
00005 <span class="comment"> *  it under the terms of the GNU General Public License as published by</span>
00006 <span class="comment"> *  the Free Software Foundation; either version 2 of the License, or</span>
00007 <span class="comment"> *  (at your option) any later version.</span>
00008 <span class="comment"> *</span>
00009 <span class="comment"> *  This program is distributed in the hope that it will be useful,</span>
00010 <span class="comment"> *  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
00011 <span class="comment"> *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
00012 <span class="comment"> *  GNU Library General Public License for more details.</span>
00013 <span class="comment"> *</span>
00014 <span class="comment"> *  You should have received a copy of the GNU Library General Public License</span>
00015 <span class="comment"> *  along with this program; if not, write to the Free Software</span>
00016 <span class="comment"> *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span>
00017 <span class="comment"> */</span>
00018  
00023 
00024 <span class="preprocessor">#ifndef GFC_PANGO_GLYPH_HH</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define GFC_PANGO_GLYPH_HH</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#ifndef GFC_G_BOXED_HH</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="codeRef" doxygen="gfccore.tag:" href="boxed_8hh.html">gfc/glib/boxed.hh</a>&gt;</span>
00029 <span class="preprocessor">#endif</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#ifndef GFC_PANGO_TYPES_HH</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="pango_2types_8hh.html">gfc/pango/types.hh</a>&gt;</span>
00033 <span class="preprocessor">#endif</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#ifndef __PANGO_GLYPH_H__</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#include &lt;pango/pango-glyph.h&gt;</span>
00037 <span class="preprocessor">#endif</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#ifndef _CPP_VECTOR</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#include &lt;vector&gt;</span>
00041 <span class="preprocessor">#endif</span>
00042 <span class="preprocessor"></span>
00043 <span class="keyword">namespace </span>GFC {
00044 
00045 <span class="keyword">namespace </span>Pango {
00046         
00047 <span class="keyword">class </span>Analysis;
00048 <span class="keyword">class </span>Font;
00049 <span class="keyword">class </span>Rectangle;
00050 
00057 
<a name="l00058"></a><a class="code" href="namespaceGFC_1_1Pango.html#a53">00058</a> <span class="keyword">typedef</span> PangoGlyphUnit <a class="code" href="namespaceGFC_1_1Pango.html#a53">GlyphUnit</a>;
00059 
00065 
<a name="l00066"></a><a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html">00066</a> <span class="keyword">class </span><a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html">GlyphGeometry</a>
00067 {
00068         PangoGlyphGeometry geometry_;
00069 
00070 <span class="keyword">public</span>:
00071         PangoGlyphGeometry* <a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html#a0">pango_glyph_geometry</a>() <span class="keyword">const</span>;
00073 
00074         <a class="code" href="namespaceGFC_1_1Pango.html#a53">GlyphUnit</a> <a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html#a1">width</a>() <span class="keyword">const</span>;
00076 
00077         <a class="code" href="namespaceGFC_1_1Pango.html#a53">GlyphUnit</a> <a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html#a2">x_offset</a>() <span class="keyword">const</span>;
00079 
00080         <a class="code" href="namespaceGFC_1_1Pango.html#a53">GlyphUnit</a> <a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html#a3">y_offset</a>() <span class="keyword">const</span>;
00082 };
00083 
00089 
<a name="l00090"></a><a class="code" href="classGFC_1_1Pango_1_1GlyphVisAttr.html">00090</a> <span class="keyword">class </span><a class="code" href="classGFC_1_1Pango_1_1GlyphVisAttr.html">GlyphVisAttr</a>
00091 {
00092         PangoGlyphVisAttr attr_;
00093 
00094 <span class="keyword">public</span>:
00095         PangoGlyphVisAttr* <a class="code" href="classGFC_1_1Pango_1_1GlyphVisAttr.html#a0">pango_glyph_vis_attr</a>() <span class="keyword">const</span>;
00097 
00098         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Pango_1_1GlyphVisAttr.html#a1">is_cluster_start</a>() <span class="keyword">const</span>;
00103 };
00104 
00109 
<a name="l00110"></a><a class="code" href="classGFC_1_1Pango_1_1GlyphInfo.html">00110</a> <span class="keyword">class </span><a class="code" href="classGFC_1_1Pango_1_1GlyphInfo.html">GlyphInfo</a>
00111 {
00112         PangoGlyphInfo info_;
00113 
00114 <span class="keyword">public</span>:
<a name="l00115"></a><a class="code" href="classGFC_1_1Pango_1_1GlyphInfo.html#a0">00115</a>         PangoGlyphInfo* <a class="code" href="classGFC_1_1Pango_1_1GlyphInfo.html#a0">pango_glyph_info</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> const_cast&lt;PangoGlyphInfo*&gt;(&amp;info_); }
00117 
00118         <a class="code" href="namespaceGFC_1_1Pango.html#a116">Glyph</a> <a class="code" href="classGFC_1_1Pango_1_1GlyphInfo.html#a1">glpyh</a>() const;
00120 
00121         const <a class="code" href="classGFC_1_1Pango_1_1GlyphGeometry.html">GlyphGeometry</a>&amp; geometry() const;
00123 
00124         const <a class="code" href="classGFC_1_1Pango_1_1GlyphVisAttr.html">GlyphVisAttr</a>&amp; attr() const;
00127 };
00128 
00134 
<a name="l00135"></a><a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">00135</a> class <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a> : public G::Boxed
00136 {
00137 <span class="keyword">public</span>:
00140 
00141         <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>();
00143 
00144         <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> length, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Analysis.html">Analysis</a>&amp; analysis);
00153 
00154         <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>(<span class="keyword">const</span> <a class="codeRef" doxygen="gfccore.tag:" href="classGFC_1_1String.html">String</a>&amp; text, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Analysis.html">Analysis</a>&amp; analysis);
00162 
00163         <span class="keyword">explicit</span> <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>(PangoGlyphString *string);
00171 
00172         <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>(PangoGlyphString *string, <span class="keywordtype">bool</span> copy);
00184 
00185         <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>&amp; src);
00188 
00189         <span class="keyword">virtual</span> ~<a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>();
00191 
00192         <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1GlyphString.html">GlyphString</a>&amp; src);
00195 
00199 
00200         PangoGlyphString* pango_glyph_string() <span class="keyword">const</span>;
00202 
00203         operator PangoGlyphString* () <span class="keyword">const</span>;
00205 
00206         <span class="keywordtype">int</span> size() <span class="keyword">const</span>;
00208         
00209         std::vector&lt;GlyphInfo&gt; glyphs() <span class="keyword">const</span>;
00211 
00212         <span class="keywordtype">int</span>* log_clusters() <span class="keyword">const</span>;
00215 
00216         <span class="keywordtype">void</span> extents(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Font.html">Font</a>&amp; font, <a class="code" href="classGFC_1_1Pango_1_1Rectangle.html">Rectangle</a> *ink_rect, <a class="code" href="classGFC_1_1Pango_1_1Rectangle.html">Rectangle</a> *logical_rect, <span class="keywordtype">int</span> start = 0, <span class="keywordtype">int</span> end = -1) <span class="keyword">const</span>;
00233 
00234         <span class="keywordtype">void</span> get_logical_widths(<span class="keyword">const</span> <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> length, <span class="keywordtype">int</span> embedding_level, std::vector&lt;int&gt;&amp; logical_widths) <span class="keyword">const</span>;
00244 
00245         <span class="keywordtype">void</span> get_logical_widths(<span class="keyword">const</span> <a class="codeRef" doxygen="gfccore.tag:" href="classGFC_1_1String.html">String</a>&amp; text, <span class="keywordtype">int</span> embedding_level, std::vector&lt;int&gt;&amp; logical_widths) <span class="keyword">const</span>;
00254 
00258 
00259         <span class="keywordtype">void</span> set_size(<span class="keywordtype">int</span> length);
00262 
00263         <span class="keywordtype">int</span> index_to_x(<span class="keyword">const</span> <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> length, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Analysis.html">Analysis</a>&amp; analysis, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> trailing);
00274 
00275         <span class="keywordtype">int</span> index_to_x(<span class="keyword">const</span> <a class="codeRef" doxygen="gfccore.tag:" href="classGFC_1_1String.html">String</a>&amp; text, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Analysis.html">Analysis</a>&amp; analysis, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> trailing);
00285 
00286         <span class="keywordtype">void</span> x_to_index(<span class="keyword">const</span> <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> length, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Analysis.html">Analysis</a>&amp; analysis, <span class="keywordtype">int</span> x_pos, <span class="keywordtype">int</span> *index, <span class="keywordtype">bool</span> *trailing);
00300 
00301         <span class="keywordtype">void</span> x_to_index(<span class="keyword">const</span> <a class="codeRef" doxygen="gfccore.tag:" href="classGFC_1_1String.html">String</a>&amp; text, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Pango_1_1Analysis.html">Analysis</a>&amp; analysis, <span class="keywordtype">int</span> x_pos, <span class="keywordtype">int</span> *index, <span class="keywordtype">bool</span> *trailing);
00314 
00316 };
00317 
00318 } <span class="comment">// namespace Pango</span>
00319 
00320 } <span class="comment">// namespace GFC</span>
00321 
00322 <span class="preprocessor">#include &lt;gfc/pango/inline/glyph.inl&gt;</span>
00323 
00324 <span class="preprocessor">#endif // GFC_PANGO_GLYPH_HH</span>
00325 <span class="preprocessor"></span>
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 24 00:34:31 2004 for GFC-UI by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>