blob: 969bff42d775861d4d438435321526f0f69f0860 [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: SkPackBits Class 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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>SkPackBits Class Reference</h1><!-- doxytag: class="SkPackBits" -->
<p><code>#include &lt;<a class="el" href="_sk_pack_bits_8h_source.html">SkPackBits.h</a>&gt;</code></p>
<p><a href="class_sk_pack_bits-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#a18c2f3c2d8166cba668b5479275ad86c">ComputeMaxSize16</a> (int count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#a7de081443ff4f852a7274f0fc13e1409">ComputeMaxSize8</a> (int count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#aad3fec87115f6a3e0dde07f2390dd7a6">Pack16</a> (const uint16_t src[], int count, uint8_t dst[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#a4cf14f4e1fee19ecfa3e9a61beae747f">Pack8</a> (const uint8_t src[], int count, uint8_t dst[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#aced94b24f2c0290f4fa67cef00efcee9">Unpack16</a> (const uint8_t src[], size_t srcSize, uint16_t dst[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#aeb0af2d4653edd04a27c172bcbfd7689">Unpack8</a> (const uint8_t src[], size_t srcSize, uint8_t dst[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_pack_bits.html#a2c44489ba6d627ccfca99d56c9cd15fa">Unpack8</a> (uint8_t dst[], size_t dstSkip, size_t dstWrite, const uint8_t src[])</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="_sk_pack_bits_8h_source.html#l00022">22</a> of file <a class="el" href="_sk_pack_bits_8h_source.html">SkPackBits.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a18c2f3c2d8166cba668b5479275ad86c"></a><!-- doxytag: member="SkPackBits::ComputeMaxSize16" ref="a18c2f3c2d8166cba668b5479275ad86c" args="(int count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static size_t SkPackBits::ComputeMaxSize16 </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>count</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Given the number of 16bit values that will be passed to Pack16, returns the worst-case size needed for the dst[] buffer. </p>
</div>
</div>
<a class="anchor" id="a7de081443ff4f852a7274f0fc13e1409"></a><!-- doxytag: member="SkPackBits::ComputeMaxSize8" ref="a7de081443ff4f852a7274f0fc13e1409" args="(int count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static size_t SkPackBits::ComputeMaxSize8 </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>count</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Given the number of 8bit values that will be passed to Pack8, returns the worst-case size needed for the dst[] buffer. </p>
</div>
</div>
<a class="anchor" id="aad3fec87115f6a3e0dde07f2390dd7a6"></a><!-- doxytag: member="SkPackBits::Pack16" ref="aad3fec87115f6a3e0dde07f2390dd7a6" args="(const uint16_t src[], int count, uint8_t dst[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static size_t SkPackBits::Pack16 </td>
<td>(</td>
<td class="paramtype">const uint16_t&nbsp;</td>
<td class="paramname"> <em>src</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&nbsp;</td>
<td class="paramname"> <em>dst</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write the src array into a packed format. The packing process may end up writing more bytes than it read, so dst[] must be large enough. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Input array of 16bit values </td></tr>
<tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of entries in src[] </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Buffer (allocated by caller) to write the packed data into </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of bytes written to dst[] </dd></dl>
</div>
</div>
<a class="anchor" id="a4cf14f4e1fee19ecfa3e9a61beae747f"></a><!-- doxytag: member="SkPackBits::Pack8" ref="a4cf14f4e1fee19ecfa3e9a61beae747f" args="(const uint8_t src[], int count, uint8_t dst[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static size_t SkPackBits::Pack8 </td>
<td>(</td>
<td class="paramtype">const uint8_t&nbsp;</td>
<td class="paramname"> <em>src</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&nbsp;</td>
<td class="paramname"> <em>dst</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write the src array into a packed format. The packing process may end up writing more bytes than it read, so dst[] must be large enough. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Input array of 8bit values </td></tr>
<tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of entries in src[] </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Buffer (allocated by caller) to write the packed data into </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of bytes written to dst[] </dd></dl>
</div>
</div>
<a class="anchor" id="aced94b24f2c0290f4fa67cef00efcee9"></a><!-- doxytag: member="SkPackBits::Unpack16" ref="aced94b24f2c0290f4fa67cef00efcee9" args="(const uint8_t src[], size_t srcSize, uint16_t dst[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static int SkPackBits::Unpack16 </td>
<td>(</td>
<td class="paramtype">const uint8_t&nbsp;</td>
<td class="paramname"> <em>src</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>srcSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&nbsp;</td>
<td class="paramname"> <em>dst</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unpack the data in src[], and expand it into dst[]. The src[] data was written by a previous call to Pack16. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Input data to unpack, previously created by Pack16. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>srcSize</em>&nbsp;</td><td>Number of bytes of src to unpack </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Buffer (allocated by caller) to expand the src[] into. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of dst elements (not bytes) written into dst. </dd></dl>
</div>
</div>
<a class="anchor" id="a2c44489ba6d627ccfca99d56c9cd15fa"></a><!-- doxytag: member="SkPackBits::Unpack8" ref="a2c44489ba6d627ccfca99d56c9cd15fa" args="(uint8_t dst[], size_t dstSkip, size_t dstWrite, const uint8_t src[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void SkPackBits::Unpack8 </td>
<td>(</td>
<td class="paramtype">uint8_t&nbsp;</td>
<td class="paramname"> <em>dst</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>dstSkip</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>dstWrite</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&nbsp;</td>
<td class="paramname"> <em>src</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unpack the data from src[], skip the first dstSkip bytes, then write dstWrite bytes into dst[]. The src[] data was written by a previous call to Pack8. Return the number of bytes actually writtten into dst[] </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Input data to unpack, previously created by Pack8. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Buffer (allocated by caller) to expand the src[] into. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dstSkip</em>&nbsp;</td><td>Number of bytes of unpacked src to skip before writing into dst </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dstWrite</em>&nbsp;</td><td>Number of bytes of unpacked src to write into dst (after skipping dstSkip bytes) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aeb0af2d4653edd04a27c172bcbfd7689"></a><!-- doxytag: member="SkPackBits::Unpack8" ref="aeb0af2d4653edd04a27c172bcbfd7689" args="(const uint8_t src[], size_t srcSize, uint8_t dst[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static int SkPackBits::Unpack8 </td>
<td>(</td>
<td class="paramtype">const uint8_t&nbsp;</td>
<td class="paramname"> <em>src</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>srcSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&nbsp;</td>
<td class="paramname"> <em>dst</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unpack the data in src[], and expand it into dst[]. The src[] data was written by a previous call to Pack8. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Input data to unpack, previously created by Pack8. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>srcSize</em>&nbsp;</td><td>Number of bytes of src to unpack </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Buffer (allocated by caller) to expand the src[] into. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of bytes written into dst. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/core/<a class="el" href="_sk_pack_bits_8h_source.html">SkPackBits.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 11:03:42 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>