blob: 7e07cfde0441a87ad3457502958b7ea692e4f2d9 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Skia: include/core/SkTypes.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/core/SkTypes.h File Reference</h1><code>#include &quot;<a class="el" href="_sk_pre_config_8h_source.html">SkPreConfig.h</a>&quot;</code><br/>
<code>#include &quot;SkUserConfig.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="_sk_post_config_8h_source.html">SkPostConfig.h</a>&quot;</code><br/>
<code>#include &lt;stdint.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<div class="dynheader">
Include dependency graph for SkTypes.h:</div>
<div class="dynsection">
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>
<p><a href="_sk_types_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a34a9363267e1dbf1ea9bb1bc9d9bc195">SK_INIT_TO_AVOID_WARNING</a>&nbsp;&nbsp;&nbsp;= 0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#acc82ca88a67ae7ce95a107a9a4b81123">SkASSERT</a>(cond)&nbsp;&nbsp;&nbsp;SK_DEBUGBREAK(cond)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ac13529d56d68425158ae36e3be60108a">SkDEBUGCODE</a>(code)&nbsp;&nbsp;&nbsp;code</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a3c963601d948633c65e32f5e73c8e043">SkDECLAREPARAM</a>(type, var)&nbsp;&nbsp;&nbsp;, type var</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a9ab2f486c9501e9884a97e9411c34eea">SkPARAM</a>(var)&nbsp;&nbsp;&nbsp;, var</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a962a53677ee66400b219c9cafd57cc47">SkDEBUGF</a>(args)&nbsp;&nbsp;&nbsp;SkDebugf args</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a1c8a2c949e66940e33deb7c01c25bc94">SkAssertResult</a>(cond)&nbsp;&nbsp;&nbsp;SkASSERT(cond)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a103878b742d19374f6e93f301ad6d45c">SkToBool</a>(cond)&nbsp;&nbsp;&nbsp;((cond) != 0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a90280c52d8f06f42b97bc0b13e7c8ee3">SK_MaxS16</a>&nbsp;&nbsp;&nbsp;32767</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a8340866a60817d8292161596ff1d5368">SK_MinS16</a>&nbsp;&nbsp;&nbsp;-32767</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a04375833fada482dc1b0bad842dc1a24">SK_MaxU16</a>&nbsp;&nbsp;&nbsp;0xFFFF</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ac6aa4744c2e9be87859f6b4366347c41">SK_MinU16</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a3e9fd9524c2d65c1737f6ddb034efac4">SK_MaxS32</a>&nbsp;&nbsp;&nbsp;0x7FFFFFFF</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a280a1787c20b88d13745d71152b2ebb8">SK_MinS32</a>&nbsp;&nbsp;&nbsp;0x80000001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a1f101a95e48e3e39854b88ca28851533">SK_MaxU32</a>&nbsp;&nbsp;&nbsp;0xFFFFFFFF</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ade891b2c535eebe06b8909efde3e50be">SK_MinU32</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ae3c12d0af5deafb757c8a8786b3f31c7">SK_NaN32</a>&nbsp;&nbsp;&nbsp;0x80000000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a248f13b58d5642e7832ad59a295a3eaf">SK_OFFSETOF</a>(type, field)&nbsp;&nbsp;&nbsp;((char*)&amp;(((type*)1)-&gt;field) - (char*)1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ac666ba6f3d862105a41df7a2761c1f2c">SK_ARRAY_COUNT</a>(array)&nbsp;&nbsp;&nbsp;(sizeof(array) / sizeof(array[0]))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ae0fa8c8c8b49dbef66d63ab2edb35713">SkAlign2</a>(x)&nbsp;&nbsp;&nbsp;(((x) + 1) &gt;&gt; 1 &lt;&lt; 1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a885b24406698ebaf207170b01a39b56a">SkAlign4</a>(x)&nbsp;&nbsp;&nbsp;(((x) + 3) &gt;&gt; 2 &lt;&lt; 2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a3d517fd5b2e334ef32cb708a660aad8d">SkSetFourByteTag</a>(a, b, c, d)&nbsp;&nbsp;&nbsp;(((a) &lt;&lt; 24) | ((b) &lt;&lt; 16) | ((c) &lt;&lt; 8) | (d))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ad815a842dd1962bd135eafec280d4eb2">SK_MSec1</a>&nbsp;&nbsp;&nbsp;1000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a8ee0be5c65973681f91d88bd23a45e61">SK_MSecMax</a>&nbsp;&nbsp;&nbsp;0x7FFFFFFF</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#af33b99696138773dda9965e5c4162354">SkMSec_LT</a>(a, b)&nbsp;&nbsp;&nbsp;((int32_t)(a) - (int32_t)(b) &lt; 0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a199e233ef1dc56b9bd48a411931e212d">SkMSec_LE</a>(a, b)&nbsp;&nbsp;&nbsp;((int32_t)(a) - (int32_t)(b) &lt;= 0)</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a53369a231319a0e592ad4cbd868a61f0">S8CPU</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ab8a4e96e88fcbdd4adca2506a21384f6">S16CPU</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a6882636f582abdb2a130b7e5ff38aa83">U8CPU</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a22d66c121dc25410d7ce78c59cbd4e64">U16CPU</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#aa01c558c8b2ec5be06507f6236c4e044">SkBool</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a6c7dec5c0a40866075ef185dd7a3eb42">SkBool8</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a58f26a8012ce44a17c9810869fda30a5">SkFourByteTag</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a0b73f568570c6560e0a4f2713cb36d06">SkUnichar</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ab716f95777751685ac107e3ab3a236c3">SkMSec</a></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="_sk_types_8h.html#aae05225933a42f81e7c4a9fb286596f9abccddae53d2e7dbdb0772a1da0a7e7f9">SK_MALLOC_TEMP</a> = 0x01,
<a class="el" href="_sk_types_8h.html#aae05225933a42f81e7c4a9fb286596f9ae62007f1b5eb76ccf3d46eae2a2a760e">SK_MALLOC_THROW</a> = 0x02
}</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#aee163327c8f4d399447a443c02cfcf65">sk_out_of_memory</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a0904cf3c4895ad8400bb5668c608cf9e">sk_throw</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ad6c670f78da734b69952fab1cdb49974">sk_malloc_flags</a> (size_t size, unsigned flags)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a2ad35a172416e18970f1cbc62df2f6e9">sk_malloc_throw</a> (size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ab9fd8aba334c7d9f3f46324ca940aa65">sk_realloc_throw</a> (void *buffer, size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a9f1146592afd72a09a2fc3477eeb3c82">sk_free</a> (void *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a6ce8c418ee09f469724436386871c01e">SkDebugf</a> (const char format[],...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a767ba6484248bc6ec7d94a9bc3b215aa">SkToS8</a> (long)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a321b466227d136b435279ffa0fd5564e">SkToU8</a> (size_t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a4332da07ef2ba4ed2542f4c146cb8773">SkToS16</a> (long)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#a64885502f12f8aa49ead9f2b8b3bffe0">SkToU16</a> (size_t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#adb5dd4edd2f7a639d9d55da6ffd9a8e4">SkToS32</a> (long)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sk_types_8h.html#ab163596514b8d11335ee24ae69bb27d4">SkToU32</a> (size_t)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition in file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ac666ba6f3d862105a41df7a2761c1f2c"></a><!-- doxytag: member="SkTypes.h::SK_ARRAY_COUNT" ref="ac666ba6f3d862105a41df7a2761c1f2c" args="(array)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_ARRAY_COUNT</td>
<td>(</td>
<td class="paramtype">array&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(sizeof(array) / sizeof(array[0]))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the number of entries in an array (not a pointer) </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00158">158</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a34a9363267e1dbf1ea9bb1bc9d9bc195"></a><!-- doxytag: member="SkTypes.h::SK_INIT_TO_AVOID_WARNING" ref="a34a9363267e1dbf1ea9bb1bc9d9bc195" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_INIT_TO_AVOID_WARNING&nbsp;&nbsp;&nbsp;= 0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00075">75</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a90280c52d8f06f42b97bc0b13e7c8ee3"></a><!-- doxytag: member="SkTypes.h::SK_MaxS16" ref="a90280c52d8f06f42b97bc0b13e7c8ee3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MaxS16&nbsp;&nbsp;&nbsp;32767</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00142">142</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3e9fd9524c2d65c1737f6ddb034efac4"></a><!-- doxytag: member="SkTypes.h::SK_MaxS32" ref="a3e9fd9524c2d65c1737f6ddb034efac4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MaxS32&nbsp;&nbsp;&nbsp;0x7FFFFFFF</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00146">146</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a04375833fada482dc1b0bad842dc1a24"></a><!-- doxytag: member="SkTypes.h::SK_MaxU16" ref="a04375833fada482dc1b0bad842dc1a24" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MaxU16&nbsp;&nbsp;&nbsp;0xFFFF</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00144">144</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1f101a95e48e3e39854b88ca28851533"></a><!-- doxytag: member="SkTypes.h::SK_MaxU32" ref="a1f101a95e48e3e39854b88ca28851533" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MaxU32&nbsp;&nbsp;&nbsp;0xFFFFFFFF</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00148">148</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8340866a60817d8292161596ff1d5368"></a><!-- doxytag: member="SkTypes.h::SK_MinS16" ref="a8340866a60817d8292161596ff1d5368" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MinS16&nbsp;&nbsp;&nbsp;-32767</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00143">143</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a280a1787c20b88d13745d71152b2ebb8"></a><!-- doxytag: member="SkTypes.h::SK_MinS32" ref="a280a1787c20b88d13745d71152b2ebb8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MinS32&nbsp;&nbsp;&nbsp;0x80000001</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00147">147</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac6aa4744c2e9be87859f6b4366347c41"></a><!-- doxytag: member="SkTypes.h::SK_MinU16" ref="ac6aa4744c2e9be87859f6b4366347c41" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MinU16&nbsp;&nbsp;&nbsp;0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00145">145</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ade891b2c535eebe06b8909efde3e50be"></a><!-- doxytag: member="SkTypes.h::SK_MinU32" ref="ade891b2c535eebe06b8909efde3e50be" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MinU32&nbsp;&nbsp;&nbsp;0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00149">149</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad815a842dd1962bd135eafec280d4eb2"></a><!-- doxytag: member="SkTypes.h::SK_MSec1" ref="ad815a842dd1962bd135eafec280d4eb2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MSec1&nbsp;&nbsp;&nbsp;1000</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>1 second measured in milliseconds </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00178">178</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8ee0be5c65973681f91d88bd23a45e61"></a><!-- doxytag: member="SkTypes.h::SK_MSecMax" ref="a8ee0be5c65973681f91d88bd23a45e61" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_MSecMax&nbsp;&nbsp;&nbsp;0x7FFFFFFF</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>maximum representable milliseconds </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00181">181</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae3c12d0af5deafb757c8a8786b3f31c7"></a><!-- doxytag: member="SkTypes.h::SK_NaN32" ref="ae3c12d0af5deafb757c8a8786b3f31c7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_NaN32&nbsp;&nbsp;&nbsp;0x80000000</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00150">150</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a248f13b58d5642e7832ad59a295a3eaf"></a><!-- doxytag: member="SkTypes.h::SK_OFFSETOF" ref="a248f13b58d5642e7832ad59a295a3eaf" args="(type, field)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SK_OFFSETOF</td>
<td>(</td>
<td class="paramtype">type, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">field&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((char*)&amp;(((type*)1)-&gt;field) - (char*)1)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00153">153</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae0fa8c8c8b49dbef66d63ab2edb35713"></a><!-- doxytag: member="SkTypes.h::SkAlign2" ref="ae0fa8c8c8b49dbef66d63ab2edb35713" args="(x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkAlign2</td>
<td>(</td>
<td class="paramtype">x&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((x) + 1) &gt;&gt; 1 &lt;&lt; 1)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns x rounded up to a multiple of 2 </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00162">162</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a885b24406698ebaf207170b01a39b56a"></a><!-- doxytag: member="SkTypes.h::SkAlign4" ref="a885b24406698ebaf207170b01a39b56a" args="(x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkAlign4</td>
<td>(</td>
<td class="paramtype">x&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((x) + 3) &gt;&gt; 2 &lt;&lt; 2)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns x rounded up to a multiple of 4 </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00165">165</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="acc82ca88a67ae7ce95a107a9a4b81123"></a><!-- doxytag: member="SkTypes.h::SkASSERT" ref="acc82ca88a67ae7ce95a107a9a4b81123" args="(cond)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkASSERT</td>
<td>(</td>
<td class="paramtype">cond&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;SK_DEBUGBREAK(cond)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00082">82</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1c8a2c949e66940e33deb7c01c25bc94"></a><!-- doxytag: member="SkTypes.h::SkAssertResult" ref="a1c8a2c949e66940e33deb7c01c25bc94" args="(cond)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkAssertResult</td>
<td>(</td>
<td class="paramtype">cond&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;SkASSERT(cond)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00088">88</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac13529d56d68425158ae36e3be60108a"></a><!-- doxytag: member="SkTypes.h::SkDEBUGCODE" ref="ac13529d56d68425158ae36e3be60108a" args="(code)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkDEBUGCODE</td>
<td>(</td>
<td class="paramtype">code&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;code</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00083">83</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a962a53677ee66400b219c9cafd57cc47"></a><!-- doxytag: member="SkTypes.h::SkDEBUGF" ref="a962a53677ee66400b219c9cafd57cc47" args="(args)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkDEBUGF</td>
<td>(</td>
<td class="paramtype">args&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;SkDebugf args</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00087">87</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3c963601d948633c65e32f5e73c8e043"></a><!-- doxytag: member="SkTypes.h::SkDECLAREPARAM" ref="a3c963601d948633c65e32f5e73c8e043" args="(type, var)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkDECLAREPARAM</td>
<td>(</td>
<td class="paramtype">type, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">var&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;, type var</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00084">84</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a199e233ef1dc56b9bd48a411931e212d"></a><!-- doxytag: member="SkTypes.h::SkMSec_LE" ref="a199e233ef1dc56b9bd48a411931e212d" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkMSec_LE</td>
<td>(</td>
<td class="paramtype">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">b&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((int32_t)(a) - (int32_t)(b) &lt;= 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a &lt;= b for milliseconds, correctly handling wrap-around from 0xFFFFFFFF to 0 </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00187">187</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="af33b99696138773dda9965e5c4162354"></a><!-- doxytag: member="SkTypes.h::SkMSec_LT" ref="af33b99696138773dda9965e5c4162354" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkMSec_LT</td>
<td>(</td>
<td class="paramtype">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">b&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((int32_t)(a) - (int32_t)(b) &lt; 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a &lt; b for milliseconds, correctly handling wrap-around from 0xFFFFFFFF to 0 </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00184">184</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9ab2f486c9501e9884a97e9411c34eea"></a><!-- doxytag: member="SkTypes.h::SkPARAM" ref="a9ab2f486c9501e9884a97e9411c34eea" args="(var)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkPARAM</td>
<td>(</td>
<td class="paramtype">var&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;, var</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00085">85</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3d517fd5b2e334ef32cb708a660aad8d"></a><!-- doxytag: member="SkTypes.h::SkSetFourByteTag" ref="a3d517fd5b2e334ef32cb708a660aad8d" args="(a, b, c, d)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkSetFourByteTag</td>
<td>(</td>
<td class="paramtype">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">b, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">c, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">d&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((a) &lt;&lt; 24) | ((b) &lt;&lt; 16) | ((c) &lt;&lt; 8) | (d))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00168">168</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a103878b742d19374f6e93f301ad6d45c"></a><!-- doxytag: member="SkTypes.h::SkToBool" ref="a103878b742d19374f6e93f301ad6d45c" args="(cond)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SkToBool</td>
<td>(</td>
<td class="paramtype">cond&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((cond) != 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns 0 or 1 based on the condition </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00140">140</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ab8a4e96e88fcbdd4adca2506a21384f6"></a><!-- doxytag: member="SkTypes.h::S16CPU" ref="ab8a4e96e88fcbdd4adca2506a21384f6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int <a class="el" href="_sk_types_8h.html#ab8a4e96e88fcbdd4adca2506a21384f6">S16CPU</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fast type for unsigned 8 bits. Use for parameter passing and local variables, not for storage </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00107">107</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a53369a231319a0e592ad4cbd868a61f0"></a><!-- doxytag: member="SkTypes.h::S8CPU" ref="a53369a231319a0e592ad4cbd868a61f0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int <a class="el" href="_sk_types_8h.html#a53369a231319a0e592ad4cbd868a61f0">S8CPU</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fast type for signed 8 bits. Use for parameter passing and local variables, not for storage </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00104">104</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa01c558c8b2ec5be06507f6236c4e044"></a><!-- doxytag: member="SkTypes.h::SkBool" ref="aa01c558c8b2ec5be06507f6236c4e044" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int <a class="el" href="_sk_types_8h.html#aa01c558c8b2ec5be06507f6236c4e044">SkBool</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Meant to be faster than bool (doesn't promise to be 0 or 1, just 0 or non-zero </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00117">117</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6c7dec5c0a40866075ef185dd7a3eb42"></a><!-- doxytag: member="SkTypes.h::SkBool8" ref="a6c7dec5c0a40866075ef185dd7a3eb42" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef uint8_t <a class="el" href="_sk_types_8h.html#a6c7dec5c0a40866075ef185dd7a3eb42">SkBool8</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Meant to be a small version of bool, for storage purposes. Will be 0 or 1 </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00120">120</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a58f26a8012ce44a17c9810869fda30a5"></a><!-- doxytag: member="SkTypes.h::SkFourByteTag" ref="a58f26a8012ce44a17c9810869fda30a5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef uint32_t <a class="el" href="_sk_types_8h.html#a58f26a8012ce44a17c9810869fda30a5">SkFourByteTag</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00167">167</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab716f95777751685ac107e3ab3a236c3"></a><!-- doxytag: member="SkTypes.h::SkMSec" ref="ab716f95777751685ac107e3ab3a236c3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef uint32_t <a class="el" href="_sk_types_8h.html#ab716f95777751685ac107e3ab3a236c3">SkMSec</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>32 bit value to hold a millisecond count </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00175">175</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0b73f568570c6560e0a4f2713cb36d06"></a><!-- doxytag: member="SkTypes.h::SkUnichar" ref="a0b73f568570c6560e0a4f2713cb36d06" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int32_t <a class="el" href="_sk_types_8h.html#a0b73f568570c6560e0a4f2713cb36d06">SkUnichar</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>32 bit integer to hold a unicode value </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00172">172</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a22d66c121dc25410d7ce78c59cbd4e64"></a><!-- doxytag: member="SkTypes.h::U16CPU" ref="a22d66c121dc25410d7ce78c59cbd4e64" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned <a class="el" href="_sk_types_8h.html#a22d66c121dc25410d7ce78c59cbd4e64">U16CPU</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fast type for unsigned 16 bits. Use for parameter passing and local variables, not for storage </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00113">113</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6882636f582abdb2a130b7e5ff38aa83"></a><!-- doxytag: member="SkTypes.h::U8CPU" ref="a6882636f582abdb2a130b7e5ff38aa83" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned <a class="el" href="_sk_types_8h.html#a6882636f582abdb2a130b7e5ff38aa83">U8CPU</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fast type for signed 16 bits. Use for parameter passing and local variables, not for storage </p>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00110">110</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="aae05225933a42f81e7c4a9fb286596f9"></a><!-- doxytag: member="SkTypes.h::@21" ref="aae05225933a42f81e7c4a9fb286596f9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="aae05225933a42f81e7c4a9fb286596f9abccddae53d2e7dbdb0772a1da0a7e7f9"></a><!-- doxytag: member="SK_MALLOC_TEMP" ref="aae05225933a42f81e7c4a9fb286596f9abccddae53d2e7dbdb0772a1da0a7e7f9" args="" -->SK_MALLOC_TEMP</em>&nbsp;</td><td>
<p>hint to sk_malloc that the requested memory will be freed in the scope of the stack frame </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aae05225933a42f81e7c4a9fb286596f9ae62007f1b5eb76ccf3d46eae2a2a760e"></a><!-- doxytag: member="SK_MALLOC_THROW" ref="aae05225933a42f81e7c4a9fb286596f9ae62007f1b5eb76ccf3d46eae2a2a760e" args="" -->SK_MALLOC_THROW</em>&nbsp;</td><td>
<p>instructs sk_malloc to call sk_throw if the memory cannot be allocated. </p>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_sk_types_8h_source.html#l00047">47</a> of file <a class="el" href="_sk_types_8h_source.html">SkTypes.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a9f1146592afd72a09a2fc3477eeb3c82"></a><!-- doxytag: member="SkTypes.h::sk_free" ref="a9f1146592afd72a09a2fc3477eeb3c82" args="(void *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sk_free </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Free memory returned by sk_malloc(). It is safe to pass null. </p>
</div>
</div>
<a class="anchor" id="ad6c670f78da734b69952fab1cdb49974"></a><!-- doxytag: member="SkTypes.h::sk_malloc_flags" ref="ad6c670f78da734b69952fab1cdb49974" args="(size_t size, unsigned flags)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* sk_malloc_flags </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a block of memory (at least 4-byte aligned) of at least the specified size. If the requested memory cannot be returned, either return null (if SK_MALLOC_TEMP bit is clear) or call <a class="el" href="_sk_types_8h.html#a0904cf3c4895ad8400bb5668c608cf9e">sk_throw()</a> (if SK_MALLOC_TEMP bit is set). To free the memory, call <a class="el" href="_sk_types_8h.html#a9f1146592afd72a09a2fc3477eeb3c82">sk_free()</a>. </p>
</div>
</div>
<a class="anchor" id="a2ad35a172416e18970f1cbc62df2f6e9"></a><!-- doxytag: member="SkTypes.h::sk_malloc_throw" ref="a2ad35a172416e18970f1cbc62df2f6e9" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* sk_malloc_throw </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Same as sk_malloc(), but hard coded to pass SK_MALLOC_THROW as the flag </p>
</div>
</div>
<a class="anchor" id="aee163327c8f4d399447a443c02cfcf65"></a><!-- doxytag: member="SkTypes.h::sk_out_of_memory" ref="aee163327c8f4d399447a443c02cfcf65" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sk_out_of_memory </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Called internally if we run out of memory. The platform implementation must not return, but should either throw an exception or otherwise exit. </p>
</div>
</div>
<a class="anchor" id="ab9fd8aba334c7d9f3f46324ca940aa65"></a><!-- doxytag: member="SkTypes.h::sk_realloc_throw" ref="ab9fd8aba334c7d9f3f46324ca940aa65" args="(void *buffer, size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* sk_realloc_throw </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Same as standard realloc(), but this one never returns null on failure. It will throw an exception if it fails. </p>
</div>
</div>
<a class="anchor" id="a0904cf3c4895ad8400bb5668c608cf9e"></a><!-- doxytag: member="SkTypes.h::sk_throw" ref="a0904cf3c4895ad8400bb5668c608cf9e" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sk_throw </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Called internally if we hit an unrecoverable error. The platform implementation must not return, but should either throw an exception or otherwise exit. </p>
</div>
</div>
<a class="anchor" id="a6ce8c418ee09f469724436386871c01e"></a><!-- doxytag: member="SkTypes.h::SkDebugf" ref="a6ce8c418ee09f469724436386871c01e" args="(const char format[],...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SkDebugf </td>
<td>(</td>
<td class="paramtype">const char&nbsp;</td>
<td class="paramname"> <em>format</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname"> <em>...</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4332da07ef2ba4ed2542f4c146cb8773"></a><!-- doxytag: member="SkTypes.h::SkToS16" ref="a4332da07ef2ba4ed2542f4c146cb8773" args="(long)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t SkToS16 </td>
<td>(</td>
<td class="paramtype">long&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="adb5dd4edd2f7a639d9d55da6ffd9a8e4"></a><!-- doxytag: member="SkTypes.h::SkToS32" ref="adb5dd4edd2f7a639d9d55da6ffd9a8e4" args="(long)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t SkToS32 </td>
<td>(</td>
<td class="paramtype">long&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a767ba6484248bc6ec7d94a9bc3b215aa"></a><!-- doxytag: member="SkTypes.h::SkToS8" ref="a767ba6484248bc6ec7d94a9bc3b215aa" args="(long)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t SkToS8 </td>
<td>(</td>
<td class="paramtype">long&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a64885502f12f8aa49ead9f2b8b3bffe0"></a><!-- doxytag: member="SkTypes.h::SkToU16" ref="a64885502f12f8aa49ead9f2b8b3bffe0" args="(size_t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t SkToU16 </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ab163596514b8d11335ee24ae69bb27d4"></a><!-- doxytag: member="SkTypes.h::SkToU32" ref="ab163596514b8d11335ee24ae69bb27d4" args="(size_t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SkToU32 </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a321b466227d136b435279ffa0fd5564e"></a><!-- doxytag: member="SkTypes.h::SkToU8" ref="a321b466227d136b435279ffa0fd5564e" args="(size_t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t SkToU8 </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 11:03:41 2009 for Skia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>