Files
DSMeshConvert/DSTexCompress/FreeImage/Wrapper/FreeImagePlus/doc/classfipWinImage.html
2012-09-02 15:24:38 +02:00

793 lines
37 KiB
HTML
Raw Blame History

<HTML>
<HEAD>
<TITLE>FreeImagePlus</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="classes.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="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<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>
<h1>fipWinImage Class Reference</h1><!-- doxytag: class="fipWinImage" --><!-- doxytag: inherits="fipImage" --><code>#include &lt;<a class="el" href="FreeImagePlus_8h-source.html">FreeImagePlus.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for fipWinImage:</div>
<div class="dynsection">
<p><center><img src="classfipWinImage.png" usemap="#fipWinImage_map" border="0" alt=""></center>
<map name="fipWinImage_map">
<area href="classfipImage.html" alt="fipImage" shape="rect" coords="0,56,80,80">
<area href="classfipObject.html" alt="fipObject" shape="rect" coords="0,0,80,24">
</map>
</div>
<p>
<a href="classfipWinImage-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
A class designed for MS Windows (TM) platforms.
<p>
<a class="el" href="classfipWinImage.html" title="A class designed for MS Windows (TM) platforms.">fipWinImage</a> provides methods used to : <ul>
<li>
Display a DIB on the screen </li>
<li>
Copy / Paste a DIB to/from Windows devices (HANDLE, HBITMAP, Clipboard) </li>
<li>
Capture a window (HWND) and convert it to an image </li>
</ul>
<dl class="version" compact><dt><b>Version:</b></dt><dd>FreeImage 3 </dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Herv<EFBFBD> Drolon </dd></dl>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creation &amp; Destruction</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#cb89672d966d49f59a6d734326284fed">fipWinImage</a> (FREE_IMAGE_TYPE image_type=FIT_BITMAP, unsigned width=0, unsigned height=0, unsigned bpp=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#cb89672d966d49f59a6d734326284fed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#1edc0bc246549025b1c1f51881854cc2">~fipWinImage</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#1edc0bc246549025b1c1f51881854cc2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#122b7d871b5103736636b822837f7285">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy image data. <a href="#122b7d871b5103736636b822837f7285"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#d8b7f7117e0c689503ceceec47ec3cee">isValid</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns TRUE if the image is allocated, FALSE otherwise. <a href="#d8b7f7117e0c689503ceceec47ec3cee"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Copying</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classfipWinImage.html">fipWinImage</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#1d095d07a35f38a40ef6d9c89561efe9">operator=</a> (const <a class="el" href="classfipImage.html">fipImage</a> &amp;src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <a href="#1d095d07a35f38a40ef6d9c89561efe9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classfipWinImage.html">fipWinImage</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#db8709270dd74ba65e5477b6f48af28d">operator=</a> (const <a class="el" href="classfipWinImage.html">fipWinImage</a> &amp;src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor Delete internal _display_dib data and copy tone mapping parameters. <a href="#db8709270dd74ba65e5477b6f48af28d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#efec727a76337197362dfa819406290f">copyToHandle</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clone function used for clipboard copy. <a href="#efec727a76337197362dfa819406290f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#ac744a1adc7fe8257e3b664ffd37131b">copyFromHandle</a> (HANDLE hMem)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor used for clipboard paste. <a href="#ac744a1adc7fe8257e3b664ffd37131b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#44fa115da43dcbd35fe0a52faaf69e3f">copyFromBitmap</a> (HBITMAP hbmp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <a href="#44fa115da43dcbd35fe0a52faaf69e3f"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Clipboard operations</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#f9621a3fa92d4cb3926ac9df98418415">copyToClipboard</a> (HWND hWndNewOwner) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipboard copy. <a href="#f9621a3fa92d4cb3926ac9df98418415"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#a1610ca970d9808ee5b783e4c9fb365f">pasteFromClipboard</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves data from the clipboard. <a href="#a1610ca970d9808ee5b783e4c9fb365f"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Screen capture</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#60b7dbc8d87ea66007673eb053c4e55e">captureWindow</a> (HWND hWndApplicationWindow, HWND hWndSelectedWindow)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Capture a window and convert it to an image. <a href="#60b7dbc8d87ea66007673eb053c4e55e"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Painting operations</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#51ab4dc8978c875fbb7fab4b4bf1e331">draw</a> (HDC hDC, RECT &amp;rcDest) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#1c5fd4f30757274f14b9ce8329405342">drawEx</a> (HDC hDC, RECT &amp;rcDest, BOOL useFileBkg=FALSE, RGBQUAD *appBkColor=NULL, FIBITMAP *bg=NULL) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#d03fbb6819d33b412ee6ecbe5826d6e1">setToneMappingOperator</a> (FREE_IMAGE_TMO tmo, double first_param=0, double second_param=0, double third_param=1, double fourth_param=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a tone mapping algorithm used for drawing and set the image as modified so that the display will be refreshed. <a href="#d03fbb6819d33b412ee6ecbe5826d6e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#7f932dbbcfde6928c16e1dfb85d61ea0">getToneMappingOperator</a> (FREE_IMAGE_TMO *tmo, double *first_param, double *second_param, double *third_param, double *fourth_param) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the tone mapping algorithm used for drawing, with its parameters. <a href="#7f932dbbcfde6928c16e1dfb85d61ea0"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">FIBITMAP *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#0f798d888e9e43e1af3197b6cde6cb78">_display_dib</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DIB used for display (this allow to display non-standard bitmaps). <a href="#0f798d888e9e43e1af3197b6cde6cb78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#9bcc9f458922e8ca992348e87425ec3b">_bDeleteMe</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">remember to delete _display_dib <a href="#9bcc9f458922e8ca992348e87425ec3b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">FREE_IMAGE_TMO&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#3a1ebbcc10ae2ab14ed23ffad3b8cfc1">_tmo</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tone mapping operator <a href="#3a1ebbcc10ae2ab14ed23ffad3b8cfc1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#5ec1957a1dda703c2dd277207cebde64">_tmo_param_1</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">first tone mapping algorithm parameter <a href="#5ec1957a1dda703c2dd277207cebde64"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#3f31010bc8260a9907bf850bd36809ac">_tmo_param_2</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">second tone mapping algorithm parameter <a href="#3f31010bc8260a9907bf850bd36809ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#25a741270aa9ce04d26487cc0e6a8735">_tmo_param_3</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">third tone mapping algorithm parameter <a href="#25a741270aa9ce04d26487cc0e6a8735"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfipWinImage.html#6e7a2ca51f4b068c33247b9bb0a301a3">_tmo_param_4</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">fourth tone mapping algorithm parameter <a href="#6e7a2ca51f4b068c33247b9bb0a301a3"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="cb89672d966d49f59a6d734326284fed"></a><!-- doxytag: member="fipWinImage::fipWinImage" ref="cb89672d966d49f59a6d734326284fed" args="(FREE_IMAGE_TYPE image_type=FIT_BITMAP, unsigned width=0, unsigned height=0, unsigned bpp=0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fipWinImage::fipWinImage </td>
<td>(</td>
<td class="paramtype">FREE_IMAGE_TYPE&nbsp;</td>
<td class="paramname"> <em>image_type</em> = <code>FIT_BITMAP</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>width</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>height</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>bpp</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor.
<p>
</div>
</div><p>
<a class="anchor" name="1edc0bc246549025b1c1f51881854cc2"></a><!-- doxytag: member="fipWinImage::~fipWinImage" ref="1edc0bc246549025b1c1f51881854cc2" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual fipWinImage::~fipWinImage </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Destructor.
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="122b7d871b5103736636b822837f7285"></a><!-- doxytag: member="fipWinImage::clear" ref="122b7d871b5103736636b822837f7285" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void fipWinImage::clear </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Destroy image data.
<p>
<p>Reimplemented from <a class="el" href="classfipImage.html#74db21a670ddadc7a6ccb79bd078d675">fipImage</a>.</p>
</div>
</div><p>
<a class="anchor" name="d8b7f7117e0c689503ceceec47ec3cee"></a><!-- doxytag: member="fipWinImage::isValid" ref="d8b7f7117e0c689503ceceec47ec3cee" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL fipWinImage::isValid </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns TRUE if the image is allocated, FALSE otherwise.
<p>
<p>Reimplemented from <a class="el" href="classfipImage.html#5dc25fed45acce1c5ad543722a8eac17">fipImage</a>.</p>
</div>
</div><p>
<a class="anchor" name="1d095d07a35f38a40ef6d9c89561efe9"></a><!-- doxytag: member="fipWinImage::operator=" ref="1d095d07a35f38a40ef6d9c89561efe9" args="(const fipImage &amp;src)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfipWinImage.html">fipWinImage</a>&amp; fipWinImage::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classfipImage.html">fipImage</a> &amp;&nbsp;</td>
<td class="paramname"> <em>src</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy constructor.
<p>
Delete internal _display_dib data and copy the base class image data. Tone mapping parameters are left unchanged. <dl class="see" compact><dt><b>See also:</b></dt><dd>FreeImage_Clone </dd></dl>
<p>Reimplemented from <a class="el" href="classfipImage.html#d44726ab5976e6da20c5f7ae44945ed5">fipImage</a>.</p>
</div>
</div><p>
<a class="anchor" name="db8709270dd74ba65e5477b6f48af28d"></a><!-- doxytag: member="fipWinImage::operator=" ref="db8709270dd74ba65e5477b6f48af28d" args="(const fipWinImage &amp;src)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfipWinImage.html">fipWinImage</a>&amp; fipWinImage::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classfipWinImage.html">fipWinImage</a> &amp;&nbsp;</td>
<td class="paramname"> <em>src</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy constructor Delete internal _display_dib data and copy tone mapping parameters.
<p>
Copy also the base class image data. <dl class="see" compact><dt><b>See also:</b></dt><dd>FreeImage_Clone </dd></dl>
</div>
</div><p>
<a class="anchor" name="efec727a76337197362dfa819406290f"></a><!-- doxytag: member="fipWinImage::copyToHandle" ref="efec727a76337197362dfa819406290f" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HANDLE fipWinImage::copyToHandle </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Clone function used for clipboard copy.
<p>
<br>
Convert the FIBITMAP image to a DIB, and transfer the DIB in a global bitmap handle.<br>
For non standard bitmaps, the BITMAPINFOHEADER-&gt;biCompression field is set to 0xFF + FreeImage_GetImageType(_dib), in order to recognize the bitmap as non standard.
</div>
</div><p>
<a class="anchor" name="ac744a1adc7fe8257e3b664ffd37131b"></a><!-- doxytag: member="fipWinImage::copyFromHandle" ref="ac744a1adc7fe8257e3b664ffd37131b" args="(HANDLE hMem)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL fipWinImage::copyFromHandle </td>
<td>(</td>
<td class="paramtype">HANDLE&nbsp;</td>
<td class="paramname"> <em>hMem</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy constructor used for clipboard paste.
<p>
<br>
Converts a global object to a FIBITMAP. The clipboard format must be CF_DIB.<br>
When the BITMAPINFOHEADER-&gt;biCompression field is set to 0xFF + [one of the predefined FREE_IMAGE_TYPE], the bitmap is recognized as non standard and correctly copied. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if successful, returns FALSE otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="44fa115da43dcbd35fe0a52faaf69e3f"></a><!-- doxytag: member="fipWinImage::copyFromBitmap" ref="44fa115da43dcbd35fe0a52faaf69e3f" args="(HBITMAP hbmp)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL fipWinImage::copyFromBitmap </td>
<td>(</td>
<td class="paramtype">HBITMAP&nbsp;</td>
<td class="paramname"> <em>hbmp</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy constructor.
<p>
<br>
Converts a HBITMAP object to a FIBITMAP. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if successful, returns FALSE otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="f9621a3fa92d4cb3926ac9df98418415"></a><!-- doxytag: member="fipWinImage::copyToClipboard" ref="f9621a3fa92d4cb3926ac9df98418415" args="(HWND hWndNewOwner) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL fipWinImage::copyToClipboard </td>
<td>(</td>
<td class="paramtype">HWND&nbsp;</td>
<td class="paramname"> <em>hWndNewOwner</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Clipboard copy.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>hWndNewOwner</em>&nbsp;</td><td>Handle to the window to be associated with the open clipboard. In MFC, you can use AfxGetApp()-&gt;m_pMainWnd-&gt;GetSafeHwnd(). </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if successful, returns FALSE otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="a1610ca970d9808ee5b783e4c9fb365f"></a><!-- doxytag: member="fipWinImage::pasteFromClipboard" ref="a1610ca970d9808ee5b783e4c9fb365f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL fipWinImage::pasteFromClipboard </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Retrieves data from the clipboard.
<p>
The clipboard format must be CF_DIB. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if successful, returns FALSE otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="60b7dbc8d87ea66007673eb053c4e55e"></a><!-- doxytag: member="fipWinImage::captureWindow" ref="60b7dbc8d87ea66007673eb053c4e55e" args="(HWND hWndApplicationWindow, HWND hWndSelectedWindow)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL fipWinImage::captureWindow </td>
<td>(</td>
<td class="paramtype">HWND&nbsp;</td>
<td class="paramname"> <em>hWndApplicationWindow</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HWND&nbsp;</td>
<td class="paramname"> <em>hWndSelectedWindow</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Capture a window and convert it to an image.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>hWndApplicationWindow</em>&nbsp;</td><td>Handle to the application main window </td></tr>
<tr><td valign="top"></td><td valign="top"><em>hWndSelectedWindow</em>&nbsp;</td><td>Handle to the window to be captured </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns TRUE if successful, returns FALSE otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="51ab4dc8978c875fbb7fab4b4bf1e331"></a><!-- doxytag: member="fipWinImage::draw" ref="51ab4dc8978c875fbb7fab4b4bf1e331" args="(HDC hDC, RECT &amp;rcDest) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fipWinImage::draw </td>
<td>(</td>
<td class="paramtype">HDC&nbsp;</td>
<td class="paramname"> <em>hDC</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RECT &amp;&nbsp;</td>
<td class="paramname"> <em>rcDest</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Draw (stretch) the image on a HDC, using StretchDIBits.<p>
When the image is transparent or has a file background, this function composite the foreground image against a checkerboard background image. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>hDC</em>&nbsp;</td><td>Handle to the device context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>rcDest</em>&nbsp;</td><td>Destination rectangle </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>FreeImage_Composite </dd></dl>
</div>
</div><p>
<a class="anchor" name="1c5fd4f30757274f14b9ce8329405342"></a><!-- doxytag: member="fipWinImage::drawEx" ref="1c5fd4f30757274f14b9ce8329405342" args="(HDC hDC, RECT &amp;rcDest, BOOL useFileBkg=FALSE, RGBQUAD *appBkColor=NULL, FIBITMAP *bg=NULL) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fipWinImage::drawEx </td>
<td>(</td>
<td class="paramtype">HDC&nbsp;</td>
<td class="paramname"> <em>hDC</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RECT &amp;&nbsp;</td>
<td class="paramname"> <em>rcDest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BOOL&nbsp;</td>
<td class="paramname"> <em>useFileBkg</em> = <code>FALSE</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RGBQUAD *&nbsp;</td>
<td class="paramname"> <em>appBkColor</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FIBITMAP *&nbsp;</td>
<td class="paramname"> <em>bg</em> = <code>NULL</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Draw (stretch) the image on a HDC, using StretchDIBits.<p>
When the image is transparent or has a file background, this function can composite the foreground image against a checkerboard background image, against a single background color or against a user background image.<br>
When the image is a High Dynamic Range image (48-bit or RGB float), this function will apply a tone mapping operator before drawing the image.<br>
The original image (located in the <a class="el" href="classfipImage.html" title="A class used to manage all photo related images and all image types used by the library...">fipImage</a> class) will not be affected by any of the operations that could be done in order to display it. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>hDC</em>&nbsp;</td><td>Handle to the device context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>rcDest</em>&nbsp;</td><td>Destination rectangle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>useFileBkg</em>&nbsp;</td><td>When set to TRUE, the function uses the file color background if there is one </td></tr>
<tr><td valign="top"></td><td valign="top"><em>appBkColor</em>&nbsp;</td><td>When a color is given, the function uses it as the background color </td></tr>
<tr><td valign="top"></td><td valign="top"><em>bg</em>&nbsp;</td><td>When a FIBITMAP is given, the function uses it as the background image </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>FreeImage_Composite <p>
<a class="el" href="classfipWinImage.html#d03fbb6819d33b412ee6ecbe5826d6e1" title="Select a tone mapping algorithm used for drawing and set the image as modified so...">setToneMappingOperator</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="d03fbb6819d33b412ee6ecbe5826d6e1"></a><!-- doxytag: member="fipWinImage::setToneMappingOperator" ref="d03fbb6819d33b412ee6ecbe5826d6e1" args="(FREE_IMAGE_TMO tmo, double first_param=0, double second_param=0, double third_param=1, double fourth_param=0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fipWinImage::setToneMappingOperator </td>
<td>(</td>
<td class="paramtype">FREE_IMAGE_TMO&nbsp;</td>
<td class="paramname"> <em>tmo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>first_param</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>second_param</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>third_param</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>fourth_param</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Select a tone mapping algorithm used for drawing and set the image as modified so that the display will be refreshed.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tmo</em>&nbsp;</td><td>Tone mapping operator </td></tr>
<tr><td valign="top"></td><td valign="top"><em>first_param</em>&nbsp;</td><td>First tone mapping algorithm parameter </td></tr>
<tr><td valign="top"></td><td valign="top"><em>second_param</em>&nbsp;</td><td>Second tone mapping algorithm parameter </td></tr>
<tr><td valign="top"></td><td valign="top"><em>third_param</em>&nbsp;</td><td>Third tone mapping algorithm parameter </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fourth_param</em>&nbsp;</td><td>Fourth tone mapping algorithm parameter </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>FreeImage_ToneMapping </dd></dl>
</div>
</div><p>
<a class="anchor" name="7f932dbbcfde6928c16e1dfb85d61ea0"></a><!-- doxytag: member="fipWinImage::getToneMappingOperator" ref="7f932dbbcfde6928c16e1dfb85d61ea0" args="(FREE_IMAGE_TMO *tmo, double *first_param, double *second_param, double *third_param, double *fourth_param) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fipWinImage::getToneMappingOperator </td>
<td>(</td>
<td class="paramtype">FREE_IMAGE_TMO *&nbsp;</td>
<td class="paramname"> <em>tmo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>first_param</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>second_param</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>third_param</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>fourth_param</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the tone mapping algorithm used for drawing, with its parameters.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tmo</em>&nbsp;</td><td>Tone mapping operator </td></tr>
<tr><td valign="top"></td><td valign="top"><em>first_param</em>&nbsp;</td><td>First tone mapping algorithm parameter </td></tr>
<tr><td valign="top"></td><td valign="top"><em>second_param</em>&nbsp;</td><td>Second tone mapping algorithm parameter </td></tr>
<tr><td valign="top"></td><td valign="top"><em>third_param</em>&nbsp;</td><td>Third tone mapping algorithm parameter </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fourth_param</em>&nbsp;</td><td>Fourth tone mapping algorithm parameter </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>FreeImage_ToneMapping </dd></dl>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="0f798d888e9e43e1af3197b6cde6cb78"></a><!-- doxytag: member="fipWinImage::_display_dib" ref="0f798d888e9e43e1af3197b6cde6cb78" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FIBITMAP* <a class="el" href="classfipWinImage.html#0f798d888e9e43e1af3197b6cde6cb78">fipWinImage::_display_dib</a><code> [mutable, protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
DIB used for display (this allow to display non-standard bitmaps).
<p>
</div>
</div><p>
<a class="anchor" name="9bcc9f458922e8ca992348e87425ec3b"></a><!-- doxytag: member="fipWinImage::_bDeleteMe" ref="9bcc9f458922e8ca992348e87425ec3b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL <a class="el" href="classfipWinImage.html#9bcc9f458922e8ca992348e87425ec3b">fipWinImage::_bDeleteMe</a><code> [mutable, protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
remember to delete _display_dib
<p>
</div>
</div><p>
<a class="anchor" name="3a1ebbcc10ae2ab14ed23ffad3b8cfc1"></a><!-- doxytag: member="fipWinImage::_tmo" ref="3a1ebbcc10ae2ab14ed23ffad3b8cfc1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FREE_IMAGE_TMO <a class="el" href="classfipWinImage.html#3a1ebbcc10ae2ab14ed23ffad3b8cfc1">fipWinImage::_tmo</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
tone mapping operator
<p>
</div>
</div><p>
<a class="anchor" name="5ec1957a1dda703c2dd277207cebde64"></a><!-- doxytag: member="fipWinImage::_tmo_param_1" ref="5ec1957a1dda703c2dd277207cebde64" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classfipWinImage.html#5ec1957a1dda703c2dd277207cebde64">fipWinImage::_tmo_param_1</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
first tone mapping algorithm parameter
<p>
</div>
</div><p>
<a class="anchor" name="3f31010bc8260a9907bf850bd36809ac"></a><!-- doxytag: member="fipWinImage::_tmo_param_2" ref="3f31010bc8260a9907bf850bd36809ac" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classfipWinImage.html#3f31010bc8260a9907bf850bd36809ac">fipWinImage::_tmo_param_2</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
second tone mapping algorithm parameter
<p>
</div>
</div><p>
<a class="anchor" name="25a741270aa9ce04d26487cc0e6a8735"></a><!-- doxytag: member="fipWinImage::_tmo_param_3" ref="25a741270aa9ce04d26487cc0e6a8735" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classfipWinImage.html#25a741270aa9ce04d26487cc0e6a8735">fipWinImage::_tmo_param_3</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
third tone mapping algorithm parameter
<p>
</div>
</div><p>
<a class="anchor" name="6e7a2ca51f4b068c33247b9bb0a301a3"></a><!-- doxytag: member="fipWinImage::_tmo_param_4" ref="6e7a2ca51f4b068c33247b9bb0a301a3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classfipWinImage.html#6e7a2ca51f4b068c33247b9bb0a301a3">fipWinImage::_tmo_param_4</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
fourth tone mapping algorithm parameter
<p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="FreeImagePlus_8h-source.html">FreeImagePlus.h</a></ul>
<hr>
<p align="right">
<img src="freeimage.png"><br>
</p>
</BODY>
</HTML>