<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.8"/> <title>libopenraw: OpenRaw::Internals::Decompressor Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libopenraw </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.8 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceOpenRaw.html">OpenRaw</a></li><li class="navelem"><b>Internals</b></li><li class="navelem"><a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="classOpenRaw_1_1Internals_1_1Decompressor-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">OpenRaw::Internals::Decompressor Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for OpenRaw::Internals::Decompressor:</div> <div class="dyncontent"> <div class="center"> <img src="classOpenRaw_1_1Internals_1_1Decompressor.png" usemap="#OpenRaw::Internals::Decompressor_map" alt=""/> <map id="OpenRaw::Internals::Decompressor_map" name="OpenRaw::Internals::Decompressor_map"> <area href="classOpenRaw_1_1Internals_1_1CrwDecompressor.html" alt="OpenRaw::Internals::CrwDecompressor" shape="rect" coords="0,112,244,136"/> <area href="classOpenRaw_1_1Internals_1_1LJpegDecompressor.html" alt="OpenRaw::Internals::LJpegDecompressor" shape="rect" coords="254,112,498,136"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a097427b24c161cdfd92a3711b77c7115"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a097427b24c161cdfd92a3711b77c7115"></a>  </td><td class="memItemRight" valign="bottom"><b>Decompressor</b> (<a class="el" href="classOpenRaw_1_1IO_1_1Stream.html">IO::Stream</a> *stream, <a class="el" href="classOpenRaw_1_1Internals_1_1RawContainer.html">RawContainer</a> *container)</td></tr> <tr class="separator:a097427b24c161cdfd92a3711b77c7115"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af071bfefcdb00bd01d508dc85ce4787e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOpenRaw_1_1RawData.html">RawData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html#af071bfefcdb00bd01d508dc85ce4787e">decompress</a> (<a class="el" href="classOpenRaw_1_1RawData.html">RawData</a> *in=NULL)=0</td></tr> <tr class="separator:af071bfefcdb00bd01d508dc85ce4787e"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:aabbe6208d1674c9e1ea8687730def5f2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html#aabbe6208d1674c9e1ea8687730def5f2">Decompressor</a> (const <a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a> &f)</td></tr> <tr class="separator:aabbe6208d1674c9e1ea8687730def5f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9d1ab456bc28350554778d5455590cc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html#a9d1ab456bc28350554778d5455590cc6">operator=</a> (const <a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a> &)</td></tr> <tr class="separator:a9d1ab456bc28350554778d5455590cc6"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr class="memitem:a80b0fa0f2d4c470df69adefbb4e4e200"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80b0fa0f2d4c470df69adefbb4e4e200"></a> <a class="el" href="classOpenRaw_1_1IO_1_1Stream.html">IO::Stream</a> * </td><td class="memItemRight" valign="bottom"><b>m_stream</b></td></tr> <tr class="separator:a80b0fa0f2d4c470df69adefbb4e4e200"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8bdb193849d1941355d5ad000250de03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bdb193849d1941355d5ad000250de03"></a> <a class="el" href="classOpenRaw_1_1Internals_1_1RawContainer.html">RawContainer</a> * </td><td class="memItemRight" valign="bottom"><b>m_container</b></td></tr> <tr class="separator:a8bdb193849d1941355d5ad000250de03"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"> <p>Definition at line <a class="el" href="decompressor_8h_source.html#l00041">41</a> of file <a class="el" href="decompressor_8h_source.html">decompressor.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="aabbe6208d1674c9e1ea8687730def5f2"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">OpenRaw::Internals::Decompressor::Decompressor </td> <td>(</td> <td class="paramtype">const <a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a> & </td> <td class="paramname"><em>f</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>private copy constructor to make sure it is not called </p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="af071bfefcdb00bd01d508dc85ce4787e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classOpenRaw_1_1RawData.html">RawData</a>* OpenRaw::Internals::Decompressor::decompress </td> <td>(</td> <td class="paramtype"><a class="el" href="classOpenRaw_1_1RawData.html">RawData</a> * </td> <td class="paramname"><em>in</em> = <code>NULL</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>decompress the bitmapdata and return a new bitmap </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">in</td><td>a preallocated <a class="el" href="classOpenRaw_1_1BitmapData.html">BitmapData</a> instance or NULL if decompress has to allocate it. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the new bitmap decompressed. NULL is failure. Caller owns it. </dd></dl> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>use a shared_ptr here, or something </dd></dl> <p>Implemented in <a class="el" href="classOpenRaw_1_1Internals_1_1LJpegDecompressor.html#a7d07cdbfb7f725f37812632863416004">OpenRaw::Internals::LJpegDecompressor</a>, and <a class="el" href="classOpenRaw_1_1Internals_1_1CrwDecompressor.html#a6f60b8b0ec6850ffb9a2004803ea81b3">OpenRaw::Internals::CrwDecompressor</a>.</p> </div> </div> <a class="anchor" id="a9d1ab456bc28350554778d5455590cc6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a>& OpenRaw::Internals::Decompressor::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classOpenRaw_1_1Internals_1_1Decompressor.html">Decompressor</a> & </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>private = operator to make sure it is never called </p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>lib/<a class="el" href="decompressor_8h_source.html">decompressor.h</a></li> <li>lib/<a class="el" href="decompressor_8cpp_source.html">decompressor.cpp</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 17 2014 20:21:10 for libopenraw by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.8 </small></address> </body> </html>