Imported Upstream version 0.9.35
[platform/upstream/harfbuzz.git] / docs / reference / html / harfbuzz-hb-blob.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>hb-blob</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="HarfBuzz Reference Manual">
8 <link rel="up" href="ch01.html" title="[Insert title here]">
9 <link rel="prev" href="harfbuzz-hb-buffer.html" title="hb-buffer">
10 <link rel="next" href="harfbuzz-hb-face.html" title="hb-face">
11 <meta name="generator" content="GTK-Doc V1.20.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18                   <a href="#harfbuzz-hb-blob.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19                   <a href="#harfbuzz-hb-blob.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20 </td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="harfbuzz-hb-buffer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="harfbuzz-hb-face.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25 </tr></table>
26 <div class="refentry">
27 <a name="harfbuzz-hb-blob"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
29 <td valign="top">
30 <h2><span class="refentrytitle"><a name="harfbuzz-hb-blob.top_of_page"></a>hb-blob</span></h2>
31 <p>hb-blob</p>
32 </td>
33 <td class="gallery_image" valign="top" align="right"></td>
34 </tr></table></div>
35 <div class="refsect1">
36 <a name="harfbuzz-hb-blob.functions"></a><h2>Functions</h2>
37 <div class="informaltable"><table width="100%" border="0">
38 <colgroup>
39 <col width="150px" class="functions_return">
40 <col class="functions_name">
41 </colgroup>
42 <tbody>
43 <tr>
44 <td class="function_type">
45 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
46 </td>
47 <td class="function_name">
48 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-create" title="hb_blob_create ()">hb_blob_create</a> <span class="c_punctuation">()</span>
49 </td>
50 </tr>
51 <tr>
52 <td class="function_type">
53 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
54 </td>
55 <td class="function_name">
56 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-sub-blob" title="hb_blob_create_sub_blob ()">hb_blob_create_sub_blob</a> <span class="c_punctuation">()</span>
57 </td>
58 </tr>
59 <tr>
60 <td class="function_type">
61 <span class="returnvalue">void</span>
62 </td>
63 <td class="function_name">
64 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy" title="hb_blob_destroy ()">hb_blob_destroy</a> <span class="c_punctuation">()</span>
65 </td>
66 </tr>
67 <tr>
68 <td class="function_type">const <span class="returnvalue">char</span> *
69 </td>
70 <td class="function_name">
71 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-data" title="hb_blob_get_data ()">hb_blob_get_data</a> <span class="c_punctuation">()</span>
72 </td>
73 </tr>
74 <tr>
75 <td class="function_type">
76 <span class="returnvalue">char</span> *
77 </td>
78 <td class="function_name">
79 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-data-writable" title="hb_blob_get_data_writable ()">hb_blob_get_data_writable</a> <span class="c_punctuation">()</span>
80 </td>
81 </tr>
82 <tr>
83 <td class="function_type">
84 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
85 </td>
86 <td class="function_name">
87 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-empty" title="hb_blob_get_empty ()">hb_blob_get_empty</a> <span class="c_punctuation">()</span>
88 </td>
89 </tr>
90 <tr>
91 <td class="function_type">unsigned <span class="returnvalue">int</span>
92 </td>
93 <td class="function_name">
94 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-length" title="hb_blob_get_length ()">hb_blob_get_length</a> <span class="c_punctuation">()</span>
95 </td>
96 </tr>
97 <tr>
98 <td class="function_type">
99 <span class="returnvalue">void</span> *
100 </td>
101 <td class="function_name">
102 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-user-data" title="hb_blob_get_user_data ()">hb_blob_get_user_data</a> <span class="c_punctuation">()</span>
103 </td>
104 </tr>
105 <tr>
106 <td class="function_type">
107 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
108 </td>
109 <td class="function_name">
110 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-is-immutable" title="hb_blob_is_immutable ()">hb_blob_is_immutable</a> <span class="c_punctuation">()</span>
111 </td>
112 </tr>
113 <tr>
114 <td class="function_type">
115 <span class="returnvalue">void</span>
116 </td>
117 <td class="function_name">
118 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-make-immutable" title="hb_blob_make_immutable ()">hb_blob_make_immutable</a> <span class="c_punctuation">()</span>
119 </td>
120 </tr>
121 <tr>
122 <td class="function_type">
123 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
124 </td>
125 <td class="function_name">
126 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-reference" title="hb_blob_reference ()">hb_blob_reference</a> <span class="c_punctuation">()</span>
127 </td>
128 </tr>
129 <tr>
130 <td class="function_type">
131 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
132 </td>
133 <td class="function_name">
134 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-set-user-data" title="hb_blob_set_user_data ()">hb_blob_set_user_data</a> <span class="c_punctuation">()</span>
135 </td>
136 </tr>
137 </tbody>
138 </table></div>
139 </div>
140 <a name="hb-blob-t"></a><div class="refsect1">
141 <a name="harfbuzz-hb-blob.other"></a><h2>Types and Values</h2>
142 <div class="informaltable"><table width="100%" border="0">
143 <colgroup>
144 <col width="150px" class="name">
145 <col class="description">
146 </colgroup>
147 <tbody>
148 <tr>
149 <td class="typedef_keyword">typedef</td>
150 <td class="function_name"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t">hb_blob_t</a></td>
151 </tr>
152 <tr>
153 <td class="datatype_keyword">enum</td>
154 <td class="function_name"><a class="link" href="harfbuzz-hb-blob.html#hb-memory-mode-t" title="enum hb_memory_mode_t">hb_memory_mode_t</a></td>
155 </tr>
156 </tbody>
157 </table></div>
158 </div>
159 <div class="refsect1">
160 <a name="harfbuzz-hb-blob.object-hierarchy"></a><h2>Object Hierarchy</h2>
161 <pre class="screen">    GBoxed
162     <span class="lineart">╰──</span> hb_blob_t
163     GEnum
164     <span class="lineart">╰──</span> hb_memory_mode_t
165 </pre>
166 </div>
167 <div class="refsect1">
168 <a name="harfbuzz-hb-blob.description"></a><h2>Description</h2>
169 <p>
170 </p>
171 </div>
172 <div class="refsect1">
173 <a name="harfbuzz-hb-blob.functions_details"></a><h2>Functions</h2>
174 <div class="refsect2">
175 <a name="hb-blob-create"></a><h3>hb_blob_create ()</h3>
176 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
177 hb_blob_create (<em class="parameter"><code>const <span class="type">char</span> *data</code></em>,
178                 <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>,
179                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-memory-mode-t" title="enum hb_memory_mode_t"><span class="type">hb_memory_mode_t</span></a> mode</code></em>,
180                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
181                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
182 <p>
183 </p>
184 <div class="refsect3">
185 <a name="idp8155232"></a><h4>Returns</h4>
186 <p></p>
187 </div>
188 </div>
189 <hr>
190 <div class="refsect2">
191 <a name="hb-blob-create-sub-blob"></a><h3>hb_blob_create_sub_blob ()</h3>
192 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
193 hb_blob_create_sub_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *parent</code></em>,
194                          <em class="parameter"><code>unsigned <span class="type">int</span> offset</code></em>,
195                          <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre>
196 <p>Returns a blob that represents a range of bytes in <em class="parameter"><code>parent</code></em>
197 .  The new
198 blob is always created with <a class="link" href="harfbuzz-hb-blob.html#HB-MEMORY-MODE-READONLY:CAPS"><code class="literal">HB_MEMORY_MODE_READONLY</code></a>, meaning that it
199 will never modify data in the parent blob.  The parent data is not
200 expected to be modified, and will result in undefined behavior if it
201 is.</p>
202 <p>Makes <em class="parameter"><code>parent</code></em>
203  immutable.</p>
204 <div class="refsect3">
205 <a name="idp17402736"></a><h4>Parameters</h4>
206 <div class="informaltable"><table width="100%" border="0">
207 <colgroup>
208 <col width="150px" class="parameters_name">
209 <col class="parameters_description">
210 <col width="200px" class="parameters_annotations">
211 </colgroup>
212 <tbody>
213 <tr>
214 <td class="parameter_name"><p>parent</p></td>
215 <td class="parameter_description"><p>Parent blob.</p></td>
216 <td class="parameter_annotations"> </td>
217 </tr>
218 <tr>
219 <td class="parameter_name"><p>offset</p></td>
220 <td class="parameter_description"><p>Start offset of sub-blob within <em class="parameter"><code>parent</code></em>
221 , in bytes.</p></td>
222 <td class="parameter_annotations"> </td>
223 </tr>
224 <tr>
225 <td class="parameter_name"><p>length</p></td>
226 <td class="parameter_description"><p>Length of sub-blob.</p></td>
227 <td class="parameter_annotations"> </td>
228 </tr>
229 </tbody>
230 </table></div>
231 </div>
232 <div class="refsect3">
233 <a name="idp17140192"></a><h4>Returns</h4>
234 <p> New blob, or the empty blob if something failed or if
235 <em class="parameter"><code>length</code></em>
236 is zero or <em class="parameter"><code>offset</code></em>
237 is beyond the end of <em class="parameter"><code>parent</code></em>
238 's data.  Destroy
239 with <a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy" title="hb_blob_destroy ()"><code class="function">hb_blob_destroy()</code></a>.</p>
240 <p></p>
241 </div>
242 <p class="since">Since 1.0</p>
243 </div>
244 <hr>
245 <div class="refsect2">
246 <a name="hb-blob-destroy"></a><h3>hb_blob_destroy ()</h3>
247 <pre class="programlisting"><span class="returnvalue">void</span>
248 hb_blob_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
249 <p>Descreases the reference count on <em class="parameter"><code>blob</code></em>
250 , and if it reaches zero, destroys
251 <em class="parameter"><code>blob</code></em>
252 , freeing all memory, possibly calling the destroy-callback the blob
253 was created for if it has not been called already.</p>
254 <p>See TODO:link object types for more information.</p>
255 <div class="refsect3">
256 <a name="idp18089520"></a><h4>Parameters</h4>
257 <div class="informaltable"><table width="100%" border="0">
258 <colgroup>
259 <col width="150px" class="parameters_name">
260 <col class="parameters_description">
261 <col width="200px" class="parameters_annotations">
262 </colgroup>
263 <tbody><tr>
264 <td class="parameter_name"><p>blob</p></td>
265 <td class="parameter_description"><p>a blob.</p></td>
266 <td class="parameter_annotations"> </td>
267 </tr></tbody>
268 </table></div>
269 </div>
270 <p class="since">Since 1.0</p>
271 </div>
272 <hr>
273 <div class="refsect2">
274 <a name="hb-blob-get-data"></a><h3>hb_blob_get_data ()</h3>
275 <pre class="programlisting">const <span class="returnvalue">char</span> *
276 hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
277                   <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
278 <div class="refsect3">
279 <a name="idp21534832"></a><h4>Parameters</h4>
280 <div class="informaltable"><table width="100%" border="0">
281 <colgroup>
282 <col width="150px" class="parameters_name">
283 <col class="parameters_description">
284 <col width="200px" class="parameters_annotations">
285 </colgroup>
286 <tbody>
287 <tr>
288 <td class="parameter_name"><p>blob</p></td>
289 <td class="parameter_description"><p>a blob.</p></td>
290 <td class="parameter_annotations"> </td>
291 </tr>
292 <tr>
293 <td class="parameter_name"><p>length</p></td>
294 <td class="parameter_description"><p>. </p></td>
295 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
296 </tr>
297 </tbody>
298 </table></div>
299 </div>
300 <div class="refsect3">
301 <a name="idp21133808"></a><h4>Returns</h4>
302 <p>. </p>
303 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p>
304 </div>
305 <p class="since">Since 1.0</p>
306 </div>
307 <hr>
308 <div class="refsect2">
309 <a name="hb-blob-get-data-writable"></a><h3>hb_blob_get_data_writable ()</h3>
310 <pre class="programlisting"><span class="returnvalue">char</span> *
311 hb_blob_get_data_writable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
312                            <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
313 <p>Tries to make blob data writable (possibly copying it) and
314 return pointer to data.</p>
315 <p>Fails if blob has been made immutable, or if memory allocation
316 fails.</p>
317 <div class="refsect3">
318 <a name="idp21147760"></a><h4>Parameters</h4>
319 <div class="informaltable"><table width="100%" border="0">
320 <colgroup>
321 <col width="150px" class="parameters_name">
322 <col class="parameters_description">
323 <col width="200px" class="parameters_annotations">
324 </colgroup>
325 <tbody>
326 <tr>
327 <td class="parameter_name"><p>blob</p></td>
328 <td class="parameter_description"><p>a blob.</p></td>
329 <td class="parameter_annotations"> </td>
330 </tr>
331 <tr>
332 <td class="parameter_name"><p>length</p></td>
333 <td class="parameter_description"><p> output length of the writable data. </p></td>
334 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
335 </tr>
336 </tbody>
337 </table></div>
338 </div>
339 <div class="refsect3">
340 <a name="idp21159888"></a><h4>Returns</h4>
341 <p> Writable blob data,
342 or <code class="literal">NULL</code> if failed. </p>
343 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p>
344 </div>
345 <p class="since">Since 1.0</p>
346 </div>
347 <hr>
348 <div class="refsect2">
349 <a name="hb-blob-get-empty"></a><h3>hb_blob_get_empty ()</h3>
350 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
351 hb_blob_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
352 <p>Returns the singleton empty blob.</p>
353 <p>See TODO:link object types for more information.</p>
354 <div class="refsect3">
355 <a name="idp21172704"></a><h4>Returns</h4>
356 <p> the empty blob. </p>
357 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
358 </div>
359 <p class="since">Since 1.0</p>
360 </div>
361 <hr>
362 <div class="refsect2">
363 <a name="hb-blob-get-length"></a><h3>hb_blob_get_length ()</h3>
364 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
365 hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
366 <div class="refsect3">
367 <a name="idp21183504"></a><h4>Parameters</h4>
368 <div class="informaltable"><table width="100%" border="0">
369 <colgroup>
370 <col width="150px" class="parameters_name">
371 <col class="parameters_description">
372 <col width="200px" class="parameters_annotations">
373 </colgroup>
374 <tbody><tr>
375 <td class="parameter_name"><p>blob</p></td>
376 <td class="parameter_description"><p>a blob.</p></td>
377 <td class="parameter_annotations"> </td>
378 </tr></tbody>
379 </table></div>
380 </div>
381 <div class="refsect3">
382 <a name="idp21191904"></a><h4>Returns</h4>
383 <p> the length of blob data in bytes.</p>
384 <p></p>
385 </div>
386 <p class="since">Since 1.0</p>
387 </div>
388 <hr>
389 <div class="refsect2">
390 <a name="hb-blob-get-user-data"></a><h3>hb_blob_get_user_data ()</h3>
391 <pre class="programlisting"><span class="returnvalue">void</span> *
392 hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
393                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
394 <div class="refsect3">
395 <a name="idp21203104"></a><h4>Parameters</h4>
396 <div class="informaltable"><table width="100%" border="0">
397 <colgroup>
398 <col width="150px" class="parameters_name">
399 <col class="parameters_description">
400 <col width="200px" class="parameters_annotations">
401 </colgroup>
402 <tbody>
403 <tr>
404 <td class="parameter_name"><p>blob</p></td>
405 <td class="parameter_description"><p>a blob.</p></td>
406 <td class="parameter_annotations"> </td>
407 </tr>
408 <tr>
409 <td class="parameter_name"><p>key</p></td>
410 <td class="parameter_description"><p>key for data to get.</p></td>
411 <td class="parameter_annotations"> </td>
412 </tr>
413 </tbody>
414 </table></div>
415 </div>
416 <div class="refsect3">
417 <a name="idp21214112"></a><h4>Returns</h4>
418 <p>. </p>
419 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
420 </div>
421 <p class="since">Since 1.0</p>
422 </div>
423 <hr>
424 <div class="refsect2">
425 <a name="hb-blob-is-immutable"></a><h3>hb_blob_is_immutable ()</h3>
426 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
427 hb_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
428 <div class="refsect3">
429 <a name="idp21224768"></a><h4>Parameters</h4>
430 <div class="informaltable"><table width="100%" border="0">
431 <colgroup>
432 <col width="150px" class="parameters_name">
433 <col class="parameters_description">
434 <col width="200px" class="parameters_annotations">
435 </colgroup>
436 <tbody><tr>
437 <td class="parameter_name"><p>blob</p></td>
438 <td class="parameter_description"><p>a blob.</p></td>
439 <td class="parameter_annotations"> </td>
440 </tr></tbody>
441 </table></div>
442 </div>
443 <div class="refsect3">
444 <a name="idp21233168"></a><h4>Returns</h4>
445 <p> TODO</p>
446 <p></p>
447 </div>
448 <p class="since">Since 1.0</p>
449 </div>
450 <hr>
451 <div class="refsect2">
452 <a name="hb-blob-make-immutable"></a><h3>hb_blob_make_immutable ()</h3>
453 <pre class="programlisting"><span class="returnvalue">void</span>
454 hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
455 <div class="refsect3">
456 <a name="idp21242720"></a><h4>Parameters</h4>
457 <div class="informaltable"><table width="100%" border="0">
458 <colgroup>
459 <col width="150px" class="parameters_name">
460 <col class="parameters_description">
461 <col width="200px" class="parameters_annotations">
462 </colgroup>
463 <tbody><tr>
464 <td class="parameter_name"><p>blob</p></td>
465 <td class="parameter_description"><p>a blob.</p></td>
466 <td class="parameter_annotations"> </td>
467 </tr></tbody>
468 </table></div>
469 </div>
470 <p class="since">Since 1.0</p>
471 </div>
472 <hr>
473 <div class="refsect2">
474 <a name="hb-blob-reference"></a><h3>hb_blob_reference ()</h3>
475 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
476 hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
477 <p>Increases the reference count on <em class="parameter"><code>blob</code></em>
478 .</p>
479 <p>See TODO:link object types for more information.</p>
480 <div class="refsect3">
481 <a name="idp21260576"></a><h4>Parameters</h4>
482 <div class="informaltable"><table width="100%" border="0">
483 <colgroup>
484 <col width="150px" class="parameters_name">
485 <col class="parameters_description">
486 <col width="200px" class="parameters_annotations">
487 </colgroup>
488 <tbody><tr>
489 <td class="parameter_name"><p>blob</p></td>
490 <td class="parameter_description"><p>a blob.</p></td>
491 <td class="parameter_annotations"> </td>
492 </tr></tbody>
493 </table></div>
494 </div>
495 <div class="refsect3">
496 <a name="idp21268976"></a><h4>Returns</h4>
497 <p> <em class="parameter"><code>blob</code></em>
498 .</p>
499 <p></p>
500 </div>
501 <p class="since">Since 1.0</p>
502 </div>
503 <hr>
504 <div class="refsect2">
505 <a name="hb-blob-set-user-data"></a><h3>hb_blob_set_user_data ()</h3>
506 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
507 hb_blob_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
508                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
509                        <em class="parameter"><code><span class="type">void</span> *data</code></em>,
510                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
511                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
512 <div class="refsect3">
513 <a name="idp21285920"></a><h4>Parameters</h4>
514 <div class="informaltable"><table width="100%" border="0">
515 <colgroup>
516 <col width="150px" class="parameters_name">
517 <col class="parameters_description">
518 <col width="200px" class="parameters_annotations">
519 </colgroup>
520 <tbody>
521 <tr>
522 <td class="parameter_name"><p>blob</p></td>
523 <td class="parameter_description"><p>a blob.</p></td>
524 <td class="parameter_annotations"> </td>
525 </tr>
526 <tr>
527 <td class="parameter_name"><p>key</p></td>
528 <td class="parameter_description"><p>key for data to set.</p></td>
529 <td class="parameter_annotations"> </td>
530 </tr>
531 <tr>
532 <td class="parameter_name"><p>data</p></td>
533 <td class="parameter_description"><p>data to set.</p></td>
534 <td class="parameter_annotations"> </td>
535 </tr>
536 <tr>
537 <td class="parameter_name"><p>destroy</p></td>
538 <td class="parameter_description"><p>callback to call when <em class="parameter"><code>data</code></em>
539 is not needed anymore.</p></td>
540 <td class="parameter_annotations"> </td>
541 </tr>
542 <tr>
543 <td class="parameter_name"><p>replace</p></td>
544 <td class="parameter_description"><p>whether to replace an existing data with the same key.</p></td>
545 <td class="parameter_annotations"> </td>
546 </tr>
547 </tbody>
548 </table></div>
549 </div>
550 <div class="refsect3">
551 <a name="idp21305600"></a><h4>Returns</h4>
552 <p></p>
553 </div>
554 <p class="since">Since 1.0</p>
555 </div>
556 </div>
557 <div class="refsect1">
558 <a name="harfbuzz-hb-blob.other_details"></a><h2>Types and Values</h2>
559 <div class="refsect2">
560 <a name="hb-blob-t"></a><h3>hb_blob_t</h3>
561 <pre class="programlisting">typedef struct hb_blob_t hb_blob_t;
562 </pre>
563 <p>
564 </p>
565 </div>
566 <hr>
567 <div class="refsect2">
568 <a name="hb-memory-mode-t"></a><h3>enum hb_memory_mode_t</h3>
569 <p>
570 </p>
571 <div class="refsect3">
572 <a name="idp21317472"></a><h4>Members</h4>
573 <div class="informaltable"><table width="100%" border="0">
574 <colgroup>
575 <col width="300px" class="enum_members_name">
576 <col class="enum_members_description">
577 <col width="200px" class="enum_members_annotations">
578 </colgroup>
579 <tbody>
580 <tr>
581 <td class="enum_member_name"><p><a name="HB-MEMORY-MODE-DUPLICATE:CAPS"></a>HB_MEMORY_MODE_DUPLICATE</p></td>
582 <td class="enum_member_description"> </td>
583 <td class="enum_member_annotations"> </td>
584 </tr>
585 <tr>
586 <td class="enum_member_name"><p><a name="HB-MEMORY-MODE-READONLY:CAPS"></a>HB_MEMORY_MODE_READONLY</p></td>
587 <td class="enum_member_description"> </td>
588 <td class="enum_member_annotations"> </td>
589 </tr>
590 <tr>
591 <td class="enum_member_name"><p><a name="HB-MEMORY-MODE-WRITABLE:CAPS"></a>HB_MEMORY_MODE_WRITABLE</p></td>
592 <td class="enum_member_description"> </td>
593 <td class="enum_member_annotations"> </td>
594 </tr>
595 <tr>
596 <td class="enum_member_name"><p><a name="HB-MEMORY-MODE-READONLY-MAY-MAKE-WRITABLE:CAPS"></a>HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE</p></td>
597 <td class="enum_member_description"> </td>
598 <td class="enum_member_annotations"> </td>
599 </tr>
600 </tbody>
601 </table></div>
602 </div>
603 </div>
604 </div>
605 </div>
606 <div class="footer">
607 <hr>
608           Generated by GTK-Doc V1.20.1</div>
609 </body>
610 </html>