Sophie

Sophie

distrib > Fedora > 15 > x86_64 > by-pkgid > ec9ccd822be669bf449eecc0e640e0be > files > 56

camstream-0.26.3-19.fc12.x86_64.rpm

<html>
<head>
<title>Camstream: CamStream API documentation</title>
<link rel="stylesheet" href="../../tech.css" type="text/css">
</head>
<body>

<!-- Generated by Doxygen 1.2.6 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>CCamPanel  Class Reference</h1>Abstract class for panels, visual representations of various stages in the image processing. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="campanel_h-source.html">CamPanel.h</a>&gt;</code>
<p>
<p>Inheritance diagram for CCamPanel::
<p><center><img src="class_ccampanel.gif" usemap="#CCamPanel_map" border="0"></center>
<map name="CCamPanel_map">
<area href="class_qwidget.html" alt="QWidget" shape="rect" coords="0,0,112,24">
<area href="class_cbasicpanel.html" alt="CBasicPanel" shape="rect" coords="122,112,234,136">
<area href="class_cdctpanel.html" alt="CDCTPanel" shape="rect" coords="122,168,234,192">
<area href="class_cdeltapanel.html" alt="CDeltaPanel" shape="rect" coords="122,224,234,248">
<area href="class_cdiffpanel.html" alt="CDiffPanel" shape="rect" coords="122,280,234,304">
<area href="class_cimagepanelrgb.html" alt="CImagePanelRGB" shape="rect" coords="122,336,234,360">
<area href="class_cimagepanelyuv.html" alt="CImagePanelYUV" shape="rect" coords="122,392,234,416">
<area href="class_cintgpanel.html" alt="CIntgPanel" shape="rect" coords="122,448,234,472">
<area href="class_crgbshow.html" alt="CRGBShow" shape="rect" coords="122,504,234,528">
</map>
<a href="class_ccampanel-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>enum <a class="el" href="class_ccampanel.html#s4">PanelTypes</a> { <a class="el" href="class_ccampanel.html#s4s0">None</a>, 
<a class="el" href="class_ccampanel.html#s4s2">YUV420</a>, 
<a class="el" href="class_ccampanel.html#s4s3">Graph</a>
 }
</ul>
<h2>Public Methods</h2>
<ul>
<li>virtual <a class="el" href="class_ccampanel.html#a0">~CCamPanel</a> ()
<li>QString <a class="el" href="class_ccampanel.html#a1">GetName</a> () const
<li>QString <a class="el" href="class_ccampanel.html#a2">GetDescription</a> () const
<li>int <a class="el" href="class_ccampanel.html#a3">GetPanelType</a> () const
<li>QSize <a class="el" href="class_ccampanel.html#a4">GetImageSize</a> () const
<li>QSize <a class="el" href="class_ccampanel.html#a5">GetVisibleSize</a> () const
<li>bool <a class="el" href="class_ccampanel.html#a6">IsDrawable</a> ()
<li>int <a class="el" href="class_ccampanel.html#a7">IsUsed</a> ()
<li>virtual const QImage&amp; <a class="el" href="class_ccampanel.html#a8">GetImage</a> (int n=0)
<li>const QPixmap&amp; <a class="el" href="class_ccampanel.html#a9">GetPixmap</a> () const
<li>virtual <a class="el" href="class_qdialog.html">QDialog</a>* <a class="el" href="class_ccampanel.html#a10">GetPropertiesDialog</a> () const
<li>const CCamPanel&amp; <a class="el" href="class_ccampanel.html#a11">copy</a> (const CCamPanel &amp;src)
<li>const CCamPanel&amp; <a class="el" href="class_ccampanel.html#a12">operator+=</a> (const CCamPanel &amp;add)
<li>CCamPanel&amp; <a class="el" href="class_ccampanel.html#a13">operator-=</a> (const CCamPanel &amp;minus)
<li>virtual QSize <a class="el" href="class_ccampanel.html#a14">sizeHint</a> () const
<li>virtual QSizePolicy <a class="el" href="class_ccampanel.html#a15">sizePolicy</a> () const
<li>virtual void <a class="el" href="class_ccampanel.html#a16">paintEvent</a> (QPaintEvent *)
</ul>
<h2>Public Slots</h2>
<ul>
<li>virtual void <a class="el" href="class_ccampanel.html#g0">SetSize</a> (const QSize &amp;new_size)
<li>void <a class="el" href="class_ccampanel.html#g1">IncrementUse</a> ()
<li>void <a class="el" href="class_ccampanel.html#g2">DecrementUse</a> ()
<li>virtual void <a class="el" href="class_ccampanel.html#g3">RightClick</a> (const QPoint &amp;pos)
</ul>
<h2>Signals</h2>
<ul>
<li>void <a class="el" href="class_ccampanel.html#j0">ChangedImageSize</a> (const QSize &amp;new_size)
<li>void <a class="el" href="class_ccampanel.html#j1">ChangedVisibleSize</a> (const QSize &amp;new_size)
<li>void <a class="el" href="class_ccampanel.html#j2">ChangedVisibility</a> (bool new_visibility)
<li>void <a class="el" href="class_ccampanel.html#j3">ChangedToVisible</a> ()
<li>void <a class="el" href="class_ccampanel.html#j4">ChangedToHidden</a> ()
<li>void <a class="el" href="class_ccampanel.html#j5">ChangedUsage</a> (int new_usage)
<li>void <a class="el" href="class_ccampanel.html#j6">ChangedToUsed</a> ()
<li>void <a class="el" href="class_ccampanel.html#j7">ChangedToUnused</a> ()
<li>void <a class="el" href="class_ccampanel.html#j8">Updated</a> ()
</ul>
<h2>Protected Methods</h2>
<ul>
<li><a class="el" href="class_ccampanel.html#b0">CCamPanel</a> (const QString &amp;new_name, const QString &amp;new_description, int panel_type, bool draw=TRUE, <a class="el" href="class_qwidget.html">QWidget</a> *parent=0, const char *name=0)
<li>void <a class="el" href="class_ccampanel.html#b1">SetImageSize</a> (const QSize &amp;new_size)
<li>void <a class="el" href="class_ccampanel.html#b2">SetVisibleSize</a> (const QSize &amp;new_size)
<li>void <a class="el" href="class_ccampanel.html#b3">CreateImages</a> ()
<li>void <a class="el" href="class_ccampanel.html#b4">ConnectUsage</a> (CCamPanel *parent)
<li>void <a class="el" href="class_ccampanel.html#b5">ConnectResizes</a> (CCamPanel *parent)
</ul>
<h2>Protected Attributes</h2>
<ul>
<li>int <a class="el" href="class_ccampanel.html#n0">image_w</a>
<li>int <a class="el" href="class_ccampanel.html#n1">image_h</a>
<li>int <a class="el" href="class_ccampanel.html#n2">half_w</a>
<li>int <a class="el" href="class_ccampanel.html#n3">half_h</a>
<li>QImage <a class="el" href="class_ccampanel.html#n4">ImgRGB</a>
<li>QImage <a class="el" href="class_ccampanel.html#n5">ImgY</a>
<li>QImage <a class="el" href="class_ccampanel.html#n6">ImgU</a>
<li>QImage <a class="el" href="class_ccampanel.html#n7">ImgV</a>
<li>QPixmap <a class="el" href="class_ccampanel.html#n8">PixGraph</a>
<li>QPopupMenu* <a class="el" href="class_ccampanel.html#n9">pMenu</a>
<li>bool <a class="el" href="class_ccampanel.html#n10">MenuVisible</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract class for panels, visual representations of various stages in the image processing.
<p>

<p>
 The process from image to (compressed) datastream is a long one, involving a number of steps. A CamPanel is used to hold data for a step, and if possible draw a graphical representation on the screen (this is great for debugging, but also produces some pretty pictures :)).
<p>
A CamPanel can show something as simple as the RGB image retrieved from the video device, or the DCT-ized version of the differential motion-compensated YUV image. Whatever is shown, it needs to be represented in a uniform manner through a decent base class.
<p>
CamPanels are handled by CamWidget: a CamPanel registers itself with CamWidget; this class determines which panels should be shown (depending on flags and user settings), arranges them on the screen and gives the command to draw them.
<p>
CamPanels have a unique name; this name is used to register the panel and retrieve others. Note: the name is unique per class of CamPanel, not per instance.
<p>
For example, the differentiator works on a YUV image, so when the diff-panel needs to be drawn/calculated, it will request the image(s) from the YUV panel (which may or not be visible). The YUV panel may in turn require the RGB panel, etcetera. A panel may be needed by several other panels, or require more than one panel. Circular references are not allowed.
<p>
The signal/slot mechanism of Qt is used to keep things going; the  'lower' panels with basic images are updated by CamWidget; these panels emited <a class="el" href="class_ccampanel.html#j8">Updated</a>() signal which 'higher', more sophisticated Panels may connect to. They in turn will emit <a class="el" href="class_ccampanel.html#j8">Updated</a>() signals when they are done with their work.
<p>
Panels can, and will be, created by various classes. For example, a video compressor based on the DCT and H.3* protocols may register a set of panels, while another compressor based upon subband image coding will use another set of panels. Both sets however, may be dependant upon the same 'base' panels. CamWidget itself registers 3 panels, nl. the full colour image, the YUV image and differentional YUV image (which are pretty basic :))
<p>
Panels come in three basic forms: a single RGB image that forms the begin (or end)point YUV panels in 4:2:0 format, used for steps. The UV panels are a quarter in size and displayed below the large Y image Non-image panels, for example graphs
<p>
TODO: A full list of available panels 
<p>
<hr><h2>Member Enumeration Documentation</h2>
<a name="s4" doxytag="CCamPanel::PanelTypes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
enum CCamPanel::PanelTypes
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The following enumeration helps in determining how a panel should be handled, and how many images it houses. <dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="s4s0" doxytag="None"></a><em>None</em>
&nbsp;</td><td>
Undrawable.</td></tr>
<tr><td valign=top><a name="s4s2" doxytag="YUV420"></a><em>YUV420</em>
&nbsp;</td><td>
YUV images in 4:2:0 format, 1 large and 2 smaller.</td></tr>
<tr><td valign=top><a name="s4s3" doxytag="Graph"></a><em>Graph</em>
&nbsp;</td><td>
Not an image.</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="b0" doxytag="CCamPanel::CCamPanel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
CCamPanel::CCamPanel (
          </b></td>
          <td valign="bottom"><b>
const QString &amp; <em>new_name</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const QString &amp; <em>new_description</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>panel_type</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
bool <em>draw</em> = TRUE, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="class_qwidget.html">QWidget</a> * <em>parent</em> = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const char * <em>name</em> = 0&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>new_name</em>
&nbsp;</td><td>
Unique name for this kind of panel. </td></tr>
<tr><td valign=top><em>new_description</em>
&nbsp;</td><td>
Short description for this panel. </td></tr>
<tr><td valign=top><em>panel_type</em>
&nbsp;</td><td>
One of <a class="el" href="class_ccampanel.html#s4">PanelTypes</a>, sets type of this panel </td></tr>
<tr><td valign=top><em>draw</em>
&nbsp;</td><td>
Whether or not this panel can be drawn at all.
<p>
</td></tr>
</table>
</dl>Initializes panel to 0-size and not visible. By making this constructor protected this class cannot be instantiated directly, but only through a subclass.
<p>
This class is derived from <a class="el" href="class_qwidget.html">QWidget</a>, with one notable difference: the  WRepaintNoErase flag is set, so that we don't get annoying flicker when we update our panel (normally, a widget is erase before updated).     </td>
  </tr>
</table>
<a name="a0" doxytag="CCamPanel::~CCamPanel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
CCamPanel::~CCamPanel (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destructor.
<p>

<p>
 Destroys all internal structures, images, etc. Is virtual to allow proper destruction of subclasses.     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="j0" doxytag="CCamPanel::ChangedImageSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedImageSize (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Emitted when the principle image-size has been changed.
<p>
    </td>
  </tr>
</table>
<a name="j4" doxytag="CCamPanel::ChangedToHidden"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedToHidden (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Only emitted when the panel is turned off.
<p>
    </td>
  </tr>
</table>
<a name="j7" doxytag="CCamPanel::ChangedToUnused"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedToUnused (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Emitted when the usage counter drops to 0 (not used any more).
<p>
    </td>
  </tr>
</table>
<a name="j6" doxytag="CCamPanel::ChangedToUsed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedToUsed (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Emitted when the usage counter increases to 1 (first use).
<p>
    </td>
  </tr>
</table>
<a name="j3" doxytag="CCamPanel::ChangedToVisible"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedToVisible (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Only emitted when the panel is turned on.
<p>
    </td>
  </tr>
</table>
<a name="j5" doxytag="CCamPanel::ChangedUsage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedUsage (
          </b></td>
          <td valign="bottom"><b>
int <em>new_usage</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Emitted whenever the usage counter changes.
<p>
    </td>
  </tr>
</table>
<a name="j2" doxytag="CCamPanel::ChangedVisibility"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedVisibility (
          </b></td>
          <td valign="bottom"><b>
bool <em>new_visibility</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The visibility has changed.
<p>
    </td>
  </tr>
</table>
<a name="j1" doxytag="CCamPanel::ChangedVisibleSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ChangedVisibleSize (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Emitted when the visible size has been changed.
<p>
    </td>
  </tr>
</table>
<a name="b5" doxytag="CCamPanel::ConnectResizes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ConnectResizes (
          </b></td>
          <td valign="bottom"><b>
CCamPanel * <em>parent</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Make SIGNAL/SLOT connections to propagate updates.
<p>

<p>
 This function is similar to <a class="el" href="class_ccampanel.html#b4">CCamPanel::ConnectUsage</a> but this will make the necessary connections to make sure changes in size are propagated through the panels.
<p>
It is probably a bad idea to connect to more than one parent for updates.     </td>
  </tr>
</table>
<a name="b4" doxytag="CCamPanel::ConnectUsage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::ConnectUsage (
          </b></td>
          <td valign="bottom"><b>
CCamPanel * <em>parent</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Make SIGNAL/SLOT connections for usage counting.
<p>

<p>
 This function connect()s the SIGNALs of this class to the apropriate SLOTSs in the parent, so that the parent class knows if it is being used by any of its children.
<p>
Classes that depend on multiple parents should call ConnectUsage for  each of its parent classes.     </td>
  </tr>
</table>
<a name="b3" doxytag="CCamPanel::CreateImages"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::CreateImages (
          </b></td>
          <td valign="bottom"><b>
)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create image buffers in ImgRGB, ImgY/U/V or Graph resp.
<p>

<p>
 This function will call create() in the QImage objects ImgRGB or ImgY/U/V with the apropriate sizes; it will also fill the YUV buffers with a grayscale palet and set it to all-equal gray.
<p>
In case of a Graph panel, it does the same for the QPixmap object.     </td>
  </tr>
</table>
<a name="g2" doxytag="CCamPanel::DecrementUse"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::DecrementUse (
          </b></td>
          <td valign="bottom"><b>
)<code> [slot]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Decrement usage counter.
<p>

<p>
 Wheneven a panel nog longer needs this panel it should call <a class="el" href="class_ccampanel.html#g2">DecrementUse</a>() so this panel can release resources or stop calculations that are no longer required. The usage counter may not drop below zero, and this is considered an error condition. Triggers UsageChanged().     </td>
  </tr>
</table>
<a name="a2" doxytag="CCamPanel::GetDescription"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QString CCamPanel::GetDescription (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a short description of the panel.
<p>
    </td>
  </tr>
</table>
<a name="a8" doxytag="CCamPanel::GetImage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const QImage &amp; CCamPanel::GetImage (
          </b></td>
          <td valign="bottom"><b>
int <em>n</em> = 0&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return image representing step.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
QImage representing the current step. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>n</em>
&nbsp;</td><td>
Selector for sub-image.
<p>
</td></tr>
</table>
</dl>This function returns an image for this panel. For RGB panels, it will  return ImgRGB, and for YUV panels ImgU, ImgU or ImgV, depending on n. Graph panels never return an image (but they should draw something when Draw() is called).
<p>
This function can be overloaded for panels that have special needs. When there is nothing useful to return, this function will return a null image.     </td>
  </tr>
</table>
<a name="a4" doxytag="CCamPanel::GetImageSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QSize CCamPanel::GetImageSize (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return size of principle image. May be (0, 0).
<p>
<dl compact><dt>
<b>Returns: </b><dd>
An object of type QSize.
<p>
</dl>See also <a class="el" href="class_ccampanel.html#b1">CCamPanel::SetImageSize</a>     </td>
  </tr>
</table>
<a name="a1" doxytag="CCamPanel::GetName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QString CCamPanel::GetName (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns unique name of panel.
<p>
    </td>
  </tr>
</table>
<a name="a3" doxytag="CCamPanel::GetPanelType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CCamPanel::GetPanelType (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the panel type.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
One of the <a class="el" href="class_ccampanel.html#s4">PanelTypes</a> enums </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="CCamPanel::GetPixmap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const QPixmap &amp; CCamPanel::GetPixmap (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return pixmap object.
<p>

<p>
 Similar to <a class="el" href="class_ccampanel.html#a8">GetImage</a>, this function returns the Pixmap object for  Graph panel.     </td>
  </tr>
</table>
<a name="a10" doxytag="CCamPanel::GetPropertiesDialog"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_qdialog.html">QDialog</a> * CCamPanel::GetPropertiesDialog (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Returns: </b><dd>
Returns a Dialog object
<p>
</dl>Panels that have properties that can be manipulated by the user should return a <a class="el" href="class_qdialog.html">QDialog</a> object that is used to perform these manipulations. This dialog may not be a modal dialog box, and the handling is left up to the panel &amp; dialog code.
<p>
Default implementation returns a NULL pointer, i.e. this panel does not have such a dialog.     </td>
  </tr>
</table>
<a name="a5" doxytag="CCamPanel::GetVisibleSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QSize CCamPanel::GetVisibleSize (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return size of drawable portion; may be (0, 0) when there's nothing to draw.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
An object of type QSize. </dl>    </td>
  </tr>
</table>
<a name="g1" doxytag="CCamPanel::IncrementUse"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::IncrementUse (
          </b></td>
          <td valign="bottom"><b>
)<code> [slot]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Increment usage counter.
<p>

<p>
 Wheneven a panel has need of this panel it should call <a class="el" href="class_ccampanel.html#g1">IncrementUse</a>() to indicate its needed and should emit <a class="el" href="class_ccampanel.html#j8">Updated</a>() signals. Triggers UsageChanged().     </td>
  </tr>
</table>
<a name="a6" doxytag="CCamPanel::IsDrawable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CCamPanel::IsDrawable (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Returns: </b><dd>
TRUE when this panel can be drawn.
<p>
</dl>This function tells if this panel has something to draw at all. Some panels may only be used as place holders of data, and cannot draw anything useful. In that case <a class="el" href="class_ccampanel.html#a6">IsDrawable</a>() returns false. The Panel will be included in the list, but not show up in the PanelSelector, for example.     </td>
  </tr>
</table>
<a name="a7" doxytag="CCamPanel::IsUsed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CCamPanel::IsUsed (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns usage counter.
<p>

<p>
 This function returns the number of panels that claimed this panel for use; it returns an integer of 0 or higher. A value of 0 means this panel can be removed without problems.     </td>
  </tr>
</table>
<a name="g3" doxytag="CCamPanel::RightClick"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
virtual void CCamPanel::RightClick (
          </b></td>
          <td valign="bottom"><b>
const QPoint &amp; <em>pos</em>&nbsp;)<code> [virtual, slot]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="b1" doxytag="CCamPanel::SetImageSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::SetImageSize (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets principle image size.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>new_size</em>
&nbsp;</td><td>
New size of image
<p>
</td></tr>
</table>
</dl>This function will set size of the underlying image. It could be an image is enhanced, scaled down or has multiple panels; in that case VisibleSize != ImageSize. This size is mainly for functions who operate on the image and need to know the dimensions. For convenience, it also sets the variables image_w, image_h, half_w and half_h.
<p>
This function will emit <a class="el" href="class_ccampanel.html#j0">ChangedImageSize</a>() when the size is different.
<p>
See also <a class="el" href="class_ccampanel.html#g0">SetSize</a>     </td>
  </tr>
</table>
<a name="g0" doxytag="CCamPanel::SetSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::SetSize (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)<code> [virtual, slot]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Slot to signal changes in image size.
<p>

<p>
 Whenever the image size is changed, this function should be called with the new image size. It should determine the panel size (which may be smaller or larger than the image size).
<p>
The default implemenation sets the visible and image size equal for RGB and Graph panels, while the height of YUV420 panels is 1.5 the image height to allow space for the UV boxes.
<p>
Note that the Image and Visible size can always be overruled by calling <a class="el" href="class_ccampanel.html#b1">SetImageSize</a> and <a class="el" href="class_ccampanel.html#b2">SetVisibleSize</a> 
<p>
Reimplemented in <a class="el" href="class_cbasicpanel.html#g0">CBasicPanel</a>, <a class="el" href="class_cdctpanel.html#g1">CDCTPanel</a>, and <a class="el" href="class_cdiffpanel.html#g1">CDiffPanel</a>.    </td>
  </tr>
</table>
<a name="b2" doxytag="CCamPanel::SetVisibleSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::SetVisibleSize (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets visible image size.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>new_size</em>
&nbsp;</td><td>
New size of image
<p>
</td></tr>
</table>
</dl>This function will set the new, visible size (which may be different from the image size set by <a class="el" href="class_ccampanel.html#b1">SetImageSize</a>) and emits a <a class="el" href="class_ccampanel.html#j1">ChangedVisibleSize</a>() signal if necessary.
<p>
See also <a class="el" href="class_ccampanel.html#g0">SetSize</a>     </td>
  </tr>
</table>
<a name="j8" doxytag="CCamPanel::Updated"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::Updated (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Emitted after the panel's data has been updated.
<p>
    </td>
  </tr>
</table>
<a name="a11" doxytag="CCamPanel::copy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const CCamPanel &amp; CCamPanel::copy (
          </b></td>
          <td valign="bottom"><b>
const CCamPanel &amp; <em>src</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Make deep copies of images, by overwriting buffers.
<p>

<p>
 Blegh; the = operator is the ONLY operator that can't be inherited. Too bad.     </td>
  </tr>
</table>
<a name="a12" doxytag="CCamPanel::operator+="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const CCamPanel &amp; CCamPanel::operator+= (
          </b></td>
          <td valign="bottom"><b>
const CCamPanel &amp; <em>plus</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Operator overload that will add the values of the buffers of <b>plus</b> to this panel.
<p>

<p>
 The CCamPanel equivalent of 'a += b', where the YUV values are regarded as signed quantities with a virtual null point at 128. This is the integration step.     </td>
  </tr>
</table>
<a name="a13" doxytag="CCamPanel::operator-="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
CCamPanel&amp; CCamPanel::operator-= (
          </b></td>
          <td valign="bottom"><b>
const CCamPanel &amp; <em>minus</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a16" doxytag="CCamPanel::paintEvent"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CCamPanel::paintEvent (
          </b></td>
          <td valign="bottom"><b>
QPaintEvent * <em>e</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Paint visible representation of step.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>p</em>
&nbsp;</td><td>
A QPainter object that has already been moved to the correct location
<p>
</td></tr>
</table>
</dl>This function will draw the Panel contents on screen. The default implementation will draw ImgRGB or ImgYUV, depending on its PanelType. A Graph panel should overload this function.     </td>
  </tr>
</table>
<a name="a14" doxytag="CCamPanel::sizeHint"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QSize CCamPanel::sizeHint (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return our visible size as the sizeHint.     </td>
  </tr>
</table>
<a name="a15" doxytag="CCamPanel::sizePolicy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
virtual QSizePolicy CCamPanel::sizePolicy (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="n4" doxytag="CCamPanel::ImgRGB"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage CCamPanel::ImgRGB<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ready-to-use QImage object for RGB image.
<p>
    </td>
  </tr>
</table>
<a name="n6" doxytag="CCamPanel::ImgU"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage CCamPanel::ImgU<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ready-to-use QImage object for U data.
<p>
    </td>
  </tr>
</table>
<a name="n7" doxytag="CCamPanel::ImgV"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage CCamPanel::ImgV<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ready-to-use QImage object for V data.
<p>
    </td>
  </tr>
</table>
<a name="n5" doxytag="CCamPanel::ImgY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage CCamPanel::ImgY<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ready-to-use QImage object for Y data.
<p>
    </td>
  </tr>
</table>
<a name="n10" doxytag="CCamPanel::MenuVisible"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CCamPanel::MenuVisible<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="n8" doxytag="CCamPanel::PixGraph"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QPixmap CCamPanel::PixGraph<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ready-to-use QPixmap for graphs.
<p>
    </td>
  </tr>
</table>
<a name="n3" doxytag="CCamPanel::half_h"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CCamPanel::half_h<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Half image height; set by <a class="el" href="class_ccampanel.html#b1">SetImageSize</a>();.
<p>
    </td>
  </tr>
</table>
<a name="n2" doxytag="CCamPanel::half_w"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CCamPanel::half_w<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Half image width; set by <a class="el" href="class_ccampanel.html#b1">SetImageSize</a>();.
<p>
    </td>
  </tr>
</table>
<a name="n1" doxytag="CCamPanel::image_h"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CCamPanel::image_h<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Image height; set by <a class="el" href="class_ccampanel.html#b1">SetImageSize</a>();.
<p>
    </td>
  </tr>
</table>
<a name="n0" doxytag="CCamPanel::image_w"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CCamPanel::image_w<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Image width; set by <a class="el" href="class_ccampanel.html#b1">SetImageSize</a>();.
<p>
    </td>
  </tr>
</table>
<a name="n9" doxytag="CCamPanel::pMenu"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QPopupMenu* CCamPanel::pMenu<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="campanel_cc.html">CamPanel.cc</a><li><a class="el" href="campanel_h-source.html">CamPanel.h</a></ul>
<hr><address><small>Generated at Sat May 18 02:56:55 2002 for Camstream by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.6 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>