<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin

     Distributed under the Boost Software License, Version 1.0.
     (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt)
  -->

<!--
    Copyright 2005-2007 Adobe Systems Incorporated
    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
    or a copy at http://stlab.adobe.com/licenses.html)

    Some files are held under additional license.
    Please see "http://stlab.adobe.com/licenses.html" for more information.
-->

<!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" lang="en" xml:lang="en">

<head>
    <TITLE>Generic Image Library: subimage_view</TITLE>
    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
    <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
<div class="qindex"><a class="qindex" href="index.html">Modules</a> 
                  | <a class="qindex" href="classes.html">Alphabetical List</a> 
                  | <a class="qindex" href="annotated.html">Class List</a> 
                  | <a class="qindex" href="dirs.html">Directories</a> 
                  | <a class="qindex" href="files.html">File List</a> 
                  | <a class="qindex" href="../index.html">GIL Home Page</a> 
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.5.6 -->
<div class="contents">
<h1>subimage_view<br>
<small>
[<a class="el" href="g_i_l_0157.html">Image View Transformations</a>]</small>
</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
view of an axis-aligned rectangular area within an <a class="el" href="g_i_l_0040.html" title="A lightweight object that interprets memory as a 2D array of pixels. Models ImageViewConcept...">image_view</a> 
<p>

<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2a5ad30f36cbabf8b2a06207fe0c6e2b"></a><!-- doxytag: member="ImageViewTransformationsSubimage::subimage_view" ref="g2a5ad30f36cbabf8b2a06207fe0c6e2b" args="(const View &amp;src, const typename View::point_t &amp;topleft, const typename View::point_t &amp;dimensions)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">View&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>subimage_view</b> (const View &amp;src, const typename View::point_t &amp;topleft, const typename View::point_t &amp;dimensions)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g972d6ef0a1fd5acf497ec4a10f8f40ab"></a><!-- doxytag: member="ImageViewTransformationsSubimage::subimage_view" ref="g972d6ef0a1fd5acf497ec4a10f8f40ab" args="(const View &amp;src, int xMin, int yMin, int width, int height)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">View&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>subimage_view</b> (const View &amp;src, int xMin, int yMin, int width, int height)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1f5a7f26be3e08c25dc482c83dabc45b"></a><!-- doxytag: member="ImageViewTransformationsSubimage::subimage_view" ref="g1f5a7f26be3e08c25dc482c83dabc45b" args="(const any_image_view&lt; ViewTypes &gt; &amp;src, const point2&lt; std::ptrdiff_t &gt; &amp;topleft, const point2&lt; std::ptrdiff_t &gt; &amp;dimensions)" -->
template&lt;typename ViewTypes&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">any_image_view&lt; ViewTypes &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>subimage_view</b> (const any_image_view&lt; ViewTypes &gt; &amp;src, const point2&lt; std::ptrdiff_t &gt; &amp;topleft, const point2&lt; std::ptrdiff_t &gt; &amp;dimensions)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc172bcd3ca65d97146846494a1610210"></a><!-- doxytag: member="ImageViewTransformationsSubimage::subimage_view" ref="gc172bcd3ca65d97146846494a1610210" args="(const any_image_view&lt; ViewTypes &gt; &amp;src, int xMin, int yMin, int width, int height)" -->
template&lt;typename ViewTypes&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">any_image_view&lt; ViewTypes &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>subimage_view</b> (const any_image_view&lt; ViewTypes &gt; &amp;src, int xMin, int yMin, int width, int height)</td></tr>

</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:17 2009 for Generic Image Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
