diff options
Diffstat (limited to 'doc/html/qregion.html')
-rw-r--r-- | doc/html/qregion.html | 364 |
1 files changed, 364 insertions, 0 deletions
diff --git a/doc/html/qregion.html b/doc/html/qregion.html new file mode 100644 index 000000000..b731a29a2 --- /dev/null +++ b/doc/html/qregion.html @@ -0,0 +1,364 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qregion.cpp:44 --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>TQRegion Class</title> +<style type="text/css"><!-- +fn { margin-left: 1cm; text-indent: -1cm; } +a:link { color: #004faf; text-decoration: none } +a:visited { color: #672967; text-decoration: none } +body { background: #ffffff; color: black; } +--></style> +</head> +<body> + +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr bgcolor="#E5E5E5"> +<td valign=center> + <a href="index.html"> +<font color="#004faf">Home</font></a> + | <a href="classes.html"> +<font color="#004faf">All Classes</font></a> + | <a href="mainclasses.html"> +<font color="#004faf">Main Classes</font></a> + | <a href="annotated.html"> +<font color="#004faf">Annotated</font></a> + | <a href="groups.html"> +<font color="#004faf">Grouped Classes</font></a> + | <a href="functions.html"> +<font color="#004faf">Functions</font></a> +</td> +<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQRegion Class Reference</h1> + +<p>The TQRegion class specifies a clip region for a painter. +<a href="#details">More...</a> +<p><tt>#include <<a href="qregion-h.html">qregion.h</a>></tt> +<p><a href="qregion-members.html">List of all member functions.</a> +<h2>Public Members</h2> +<ul> +<li class=fn>enum <a href="#RegionType-enum"><b>RegionType</b></a> { Rectangle, Ellipse }</li> +<li class=fn><a href="#TQRegion"><b>TQRegion</b></a> ()</li> +<li class=fn><a href="#TQRegion-2"><b>TQRegion</b></a> ( int x, int y, int w, int h, RegionType t = Rectangle )</li> +<li class=fn><a href="#TQRegion-3"><b>TQRegion</b></a> ( const TQRect & r, RegionType t = Rectangle )</li> +<li class=fn><a href="#TQRegion-4"><b>TQRegion</b></a> ( const TQPointArray & a, bool winding = FALSE )</li> +<li class=fn><a href="#TQRegion-5"><b>TQRegion</b></a> ( const TQRegion & r )</li> +<li class=fn><a href="#TQRegion-6"><b>TQRegion</b></a> ( const TQBitmap & bm )</li> +<li class=fn><a href="#~TQRegion"><b>~TQRegion</b></a> ()</li> +<li class=fn>TQRegion & <a href="#operator-eq"><b>operator=</b></a> ( const TQRegion & r )</li> +<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li> +<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li> +<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const TQPoint & p ) const</li> +<li class=fn>bool <a href="#contains-2"><b>contains</b></a> ( const TQRect & r ) const</li> +<li class=fn>void <a href="#translate"><b>translate</b></a> ( int dx, int dy )</li> +<li class=fn>TQRegion <a href="#unite"><b>unite</b></a> ( const TQRegion & r ) const</li> +<li class=fn>TQRegion <a href="#intersect"><b>intersect</b></a> ( const TQRegion & r ) const</li> +<li class=fn>TQRegion <a href="#subtract"><b>subtract</b></a> ( const TQRegion & r ) const</li> +<li class=fn>TQRegion <a href="#eor"><b>eor</b></a> ( const TQRegion & r ) const</li> +<li class=fn>TQRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li> +<li class=fn>TQMemArray<TQRect> <a href="#rects"><b>rects</b></a> () const</li> +<li class=fn>const TQRegion <a href="#operator|"><b>operator|</b></a> ( const TQRegion & r ) const</li> +<li class=fn>const TQRegion <a href="#operator+"><b>operator+</b></a> ( const TQRegion & r ) const</li> +<li class=fn>const TQRegion <a href="#operator-and"><b>operator&</b></a> ( const TQRegion & r ) const</li> +<li class=fn>const TQRegion <a href="#operator-"><b>operator-</b></a> ( const TQRegion & r ) const</li> +<li class=fn>const TQRegion <a href="#operator^"><b>operator^</b></a> ( const TQRegion & r ) const</li> +<li class=fn>TQRegion & <a href="#operator|-eq"><b>operator|=</b></a> ( const TQRegion & r )</li> +<li class=fn>TQRegion & <a href="#operator+-eq"><b>operator+=</b></a> ( const TQRegion & r )</li> +<li class=fn>TQRegion & <a href="#operator-and-eq"><b>operator&=</b></a> ( const TQRegion & r )</li> +<li class=fn>TQRegion & <a href="#operator--eq"><b>operator-=</b></a> ( const TQRegion & r )</li> +<li class=fn>TQRegion & <a href="#operator^-eq"><b>operator^=</b></a> ( const TQRegion & r )</li> +<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const TQRegion & r ) const</li> +<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const TQRegion & r ) const</li> +<li class=fn>HRGN <a href="#handle"><b>handle</b></a> () const</li> +</ul> +<h2>Related Functions</h2> +<ul> +<li class=fn>TQDataStream & <a href="#operator-lt-lt"><b>operator<<</b></a> ( TQDataStream & s, const TQRegion & r )</li> +<li class=fn>TQDataStream & <a href="#operator-gt-gt"><b>operator>></b></a> ( TQDataStream & s, TQRegion & r )</li> +</ul> +<hr><a name="details"></a><h2>Detailed Description</h2> + + +The TQRegion class specifies a clip region for a painter. +<p> + +<p> TQRegion is used with <a href="qpainter.html#setClipRegion">TQPainter::setClipRegion</a>() to limit the paint +area to what needs to be painted. There is also a +<a href="qwidget.html#repaint">TQWidget::repaint</a>() that takes a TQRegion parameter. TQRegion is the +best tool for reducing flicker. +<p> A region can be created from a rectangle, an ellipse, a polygon or +a bitmap. Complex regions may be created by combining simple +regions using <a href="#unite">unite</a>(), <a href="#intersect">intersect</a>(), <a href="#subtract">subtract</a>() or <a href="#eor">eor</a>() (exclusive +or). You can move a region using <a href="#translate">translate</a>(). +<p> You can test whether a region <a href="#isNull">isNull</a>(), <a href="#isEmpty">isEmpty</a>() or if it +<a href="#contains">contains</a>() a <a href="qpoint.html">TQPoint</a> or <a href="qrect.html">TQRect</a>. The bounding rectangle is given by +<a href="#boundingRect">boundingRect</a>(). +<p> The function <a href="#rects">rects</a>() gives a decomposition of the region into +rectangles. +<p> Example of using complex regions: +<pre> + void MyWidget::paintEvent( <a href="qpaintevent.html">TQPaintEvent</a> * ) + { + <a href="qpainter.html">TQPainter</a> p; // our painter + TQRegion r1( TQRect(100,100,200,80), // r1 = elliptic region + TQRegion::<a href="#RegionType-enum">Ellipse</a> ); + TQRegion r2( TQRect(100,120,90,30) ); // r2 = rectangular region + TQRegion r3 = r1.<a href="#intersect">intersect</a>( r2 ); // r3 = intersection + p.<a href="qpainter.html#begin">begin</a>( this ); // start painting widget + p.<a href="qpainter.html#setClipRegion">setClipRegion</a>( r3 ); // set clip region + ... // paint clipped graphics + p.<a href="qpainter.html#end">end</a>(); // painting done + } + </pre> + +<p> TQRegion is an <a href="shclass.html">implicitly shared</a> class. +<p> <b>Warning:</b> Due to window system limitations, the whole coordinate +space for a region is limited to the points between -32767 and +32767 on Mac OS X and Windows 95/98/ME. +<p> <p>See also <a href="qpainter.html#setClipRegion">TQPainter::setClipRegion</a>(), <a href="qpainter.html#setClipRect">TQPainter::setClipRect</a>(), <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>. + +<hr><h2>Member Type Documentation</h2> +<h3 class=fn><a name="RegionType-enum"></a>TQRegion::RegionType</h3> + +<p> Specifies the shape of the region to be created. +<ul> +<li><tt>TQRegion::Rectangle</tt> - the region covers the entire rectangle. +<li><tt>TQRegion::Ellipse</tt> - the region is an ellipse inside the rectangle. +</ul> +<hr><h2>Member Function Documentation</h2> +<h3 class=fn><a name="TQRegion"></a>TQRegion::TQRegion () +</h3> +Constructs a null region. +<p> <p>See also <a href="#isNull">isNull</a>(). + +<h3 class=fn><a name="TQRegion-2"></a>TQRegion::TQRegion ( int x, int y, int w, int h, <a href="qregion.html#RegionType-enum">RegionType</a> t = Rectangle ) +</h3> +Constructs a rectangular or elliptic region. +<p> If <em>t</em> is <a href="#RegionType-enum">Rectangle</a>, the region is the filled rectangle (<em>x</em>, +<em>y</em>, <em>w</em>, <em>h</em>). If <em>t</em> is <a href="#RegionType-enum">Ellipse</a>, the region is the filled +ellipse with center at (<em>x</em> + <em>w</em> / 2, <em>y</em> + <em>h</em> / 2) and size +(<em>w</em> ,<em>h</em> ). + +<h3 class=fn><a name="TQRegion-3"></a>TQRegion::TQRegion ( const <a href="qrect.html">TQRect</a> & r, <a href="qregion.html#RegionType-enum">RegionType</a> t = Rectangle ) +</h3> +This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Create a region based on the rectange <em>r</em> with region type <em>t</em>. +<p> If the rectangle is invalid a null region will be created. +<p> <p>See also <a href="#RegionType-enum">TQRegion::RegionType</a>. + +<h3 class=fn><a name="TQRegion-4"></a>TQRegion::TQRegion ( const <a href="qpointarray.html">TQPointArray</a> & a, bool winding = FALSE ) +</h3> +Constructs a polygon region from the point array <em>a</em>. +<p> If <em>winding</em> is TRUE, the polygon region is filled using the +winding algorithm, otherwise the default even-odd fill algorithm +is used. +<p> This constructor may create complex regions that will slow down +painting when used. + +<h3 class=fn><a name="TQRegion-5"></a>TQRegion::TQRegion ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Constructs a new region which is equal to region <em>r</em>. + +<h3 class=fn><a name="TQRegion-6"></a>TQRegion::TQRegion ( const <a href="qbitmap.html">TQBitmap</a> & bm ) +</h3> +Constructs a region from the bitmap <em>bm</em>. +<p> The resulting region consists of the pixels in bitmap <em>bm</em> that +are <tt>color1</tt>, as if each pixel was a 1 by 1 rectangle. +<p> This constructor may create complex regions that will slow down +painting when used. Note that drawing masked pixmaps can be done +much faster using <a href="qpixmap.html#setMask">TQPixmap::setMask</a>(). + +<h3 class=fn><a name="~TQRegion"></a>TQRegion::~TQRegion () +</h3> +Destroys the region. + +<h3 class=fn><a href="qrect.html">TQRect</a> <a name="boundingRect"></a>TQRegion::boundingRect () const +</h3> +Returns the bounding rectangle of this region. An empty region +gives a rectangle that is <a href="qrect.html#isNull">TQRect::isNull</a>(). + +<h3 class=fn>bool <a name="contains"></a>TQRegion::contains ( const <a href="qpoint.html">TQPoint</a> & p ) const +</h3> +Returns TRUE if the region contains the point <em>p</em>; otherwise +returns FALSE. + +<h3 class=fn>bool <a name="contains-2"></a>TQRegion::contains ( const <a href="qrect.html">TQRect</a> & r ) const +</h3> +This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Returns TRUE if the region overlaps the rectangle <em>r</em>; otherwise +returns FALSE. + +<h3 class=fn><a href="qregion.html">TQRegion</a> <a name="eor"></a>TQRegion::eor ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Returns a region which is the exclusive or (XOR) of this region +and <em>r</em>. +<p> <center><img src="rxor.png" alt="Region XORed"></center> +<p> The figure shows the exclusive or of two elliptical regions. + +<h3 class=fn>HRGN <a name="handle"></a>TQRegion::handle () const +</h3> + +<p> Returns the region's handle. + +<h3 class=fn><a href="qregion.html">TQRegion</a> <a name="intersect"></a>TQRegion::intersect ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Returns a region which is the intersection of this region and <em>r</em>. +<p> <center><img src="rintersect.png" alt="Region Intersection"></center> +<p> The figure shows the intersection of two elliptical regions. + +<h3 class=fn>bool <a name="isEmpty"></a>TQRegion::isEmpty () const +</h3> +Returns TRUE if the region is empty; otherwise returns FALSE. An +empty region is a region that contains no points. +<p> Example: +<pre> + TQRegion r1( 10, 10, 20, 20 ); + TQRegion r2( 40, 40, 20, 20 ); + TQRegion r3; + r1.<a href="#isNull">isNull</a>(); // FALSE + r1.<a href="#isEmpty">isEmpty</a>(); // FALSE + r3.<a href="#isNull">isNull</a>(); // TRUE + r3.<a href="#isEmpty">isEmpty</a>(); // TRUE + r3 = r1.<a href="#intersect">intersect</a>( r2 ); // r3 = intersection of r1 and r2 + r3.<a href="#isNull">isNull</a>(); // FALSE + r3.<a href="#isEmpty">isEmpty</a>(); // TRUE + r3 = r1.<a href="#unite">unite</a>( r2 ); // r3 = union of r1 and r2 + r3.<a href="#isNull">isNull</a>(); // FALSE + r3.<a href="#isEmpty">isEmpty</a>(); // FALSE + </pre> + +<p> <p>See also <a href="#isNull">isNull</a>(). + +<h3 class=fn>bool <a name="isNull"></a>TQRegion::isNull () const +</h3> +Returns TRUE if the region is a null region; otherwise returns +FALSE. +<p> A null region is a region that has not been initialized. A null +region is always empty. +<p> <p>See also <a href="#isEmpty">isEmpty</a>(). + +<h3 class=fn>bool <a name="operator!-eq"></a>TQRegion::operator!= ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> + +<p> Returns TRUE if the region is different from <em>r</em>; otherwise +returns FALSE. + +<h3 class=fn>const <a href="qregion.html">TQRegion</a> <a name="operator-and"></a>TQRegion::operator& ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Applies the <a href="#intersect">intersect</a>() function to this region and <em>r</em>. <tt>r1&r2</tt> +is equivalent to <tt>r1.intersect(r2)</tt> +<p> <p>See also <a href="#intersect">intersect</a>(). + +<h3 class=fn><a href="qregion.html">TQRegion</a> & <a name="operator-and-eq"></a>TQRegion::operator&= ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Applies the <a href="#intersect">intersect</a>() function to this region and <em>r</em> and +assigns the result to this region. <tt>r1&=r2</tt> is equivalent to <tt>r1=r1.intersect(r2)</tt> +<p> <p>See also <a href="#intersect">intersect</a>(). + +<h3 class=fn>const <a href="qregion.html">TQRegion</a> <a name="operator+"></a>TQRegion::operator+ ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Applies the <a href="#unite">unite</a>() function to this region and <em>r</em>. <tt>r1+r2</tt> is +equivalent to <tt>r1.unite(r2)</tt> +<p> <p>See also <a href="#unite">unite</a>() and <a href="#operator|">operator|</a>(). + +<h3 class=fn><a href="qregion.html">TQRegion</a> & <a name="operator+-eq"></a>TQRegion::operator+= ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Applies the <a href="#unite">unite</a>() function to this region and <em>r</em> and assigns +the result to this region. <tt>r1+=r2</tt> is equivalent to <tt>r1=r1.unite(r2)</tt> +<p> <p>See also <a href="#intersect">intersect</a>(). + +<h3 class=fn>const <a href="qregion.html">TQRegion</a> <a name="operator-"></a>TQRegion::operator- ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Applies the <a href="#subtract">subtract</a>() function to this region and <em>r</em>. <tt>r1-r2</tt> +is equivalent to <tt>r1.subtract(r2)</tt> +<p> <p>See also <a href="#subtract">subtract</a>(). + +<h3 class=fn><a href="qregion.html">TQRegion</a> & <a name="operator--eq"></a>TQRegion::operator-= ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Applies the <a href="#subtract">subtract</a>() function to this region and <em>r</em> and +assigns the result to this region. <tt>r1-=r2</tt> is equivalent to <tt>r1=r1.subtract(r2)</tt> +<p> <p>See also <a href="#subtract">subtract</a>(). + +<h3 class=fn><a href="qregion.html">TQRegion</a> & <a name="operator-eq"></a>TQRegion::operator= ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Assigns <em>r</em> to this region and returns a reference to the region. + +<h3 class=fn>bool <a name="operator-eq-eq"></a>TQRegion::operator== ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Returns TRUE if the region is equal to <em>r</em>; otherwise returns +FALSE. + +<h3 class=fn>const <a href="qregion.html">TQRegion</a> <a name="operator^"></a>TQRegion::operator^ ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Applies the <a href="#eor">eor</a>() function to this region and <em>r</em>. <tt>r1^r2</tt> is +equivalent to <tt>r1.eor(r2)</tt> +<p> <p>See also <a href="#eor">eor</a>(). + +<h3 class=fn><a href="qregion.html">TQRegion</a> & <a name="operator^-eq"></a>TQRegion::operator^= ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Applies the <a href="#eor">eor</a>() function to this region and <em>r</em> and +assigns the result to this region. <tt>r1^=r2</tt> is equivalent to <tt>r1=r1.eor(r2)</tt> +<p> <p>See also <a href="#eor">eor</a>(). + +<h3 class=fn>const <a href="qregion.html">TQRegion</a> <a name="operator|"></a>TQRegion::operator| ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Applies the <a href="#unite">unite</a>() function to this region and <em>r</em>. <tt>r1|r2</tt> is +equivalent to <tt>r1.unite(r2)</tt> +<p> <p>See also <a href="#unite">unite</a>() and <a href="#operator+">operator+</a>(). + +<h3 class=fn><a href="qregion.html">TQRegion</a> & <a name="operator|-eq"></a>TQRegion::operator|= ( const <a href="qregion.html">TQRegion</a> & r ) +</h3> +Applies the <a href="#unite">unite</a>() function to this region and <em>r</em> and assigns +the result to this region. <tt>r1|=r2</tt> is equivalent to <tt>r1=r1.unite(r2)</tt> +<p> <p>See also <a href="#unite">unite</a>(). + +<h3 class=fn><a href="qmemarray.html">TQMemArray</a><TQRect> <a name="rects"></a>TQRegion::rects () const +</h3> +Returns an array of non-overlapping rectangles that make up the +region. +<p> The union of all the rectangles is equal to the original region. + +<h3 class=fn><a href="qregion.html">TQRegion</a> <a name="subtract"></a>TQRegion::subtract ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Returns a region which is <em>r</em> subtracted from this region. +<p> <center><img src="rsubtract.png" alt="Region Subtraction"></center> +<p> The figure shows the result when the ellipse on the right is +subtracted from the ellipse on the left. (<tt>left-right</tt> ) + +<h3 class=fn>void <a name="translate"></a>TQRegion::translate ( int dx, int dy ) +</h3> +Translates (moves) the region <em>dx</em> along the X axis and <em>dy</em> +along the Y axis. + +<h3 class=fn><a href="qregion.html">TQRegion</a> <a name="unite"></a>TQRegion::unite ( const <a href="qregion.html">TQRegion</a> & r ) const +</h3> +Returns a region which is the union of this region and <em>r</em>. +<p> <center><img src="runion.png" alt="Region Union"></center> +<p> The figure shows the union of two elliptical regions. + +<hr><h2>Related Functions</h2> +<h3 class=fn><a href="qdatastream.html">TQDataStream</a> & <a name="operator-lt-lt"></a>operator<< ( <a href="qdatastream.html">TQDataStream</a> & s, const <a href="qregion.html">TQRegion</a> & r ) +</h3> + +<p> Writes the region <em>r</em> to the stream <em>s</em> and returns a reference +to the stream. +<p> <p>See also <a href="datastreamformat.html">Format of the TQDataStream operators</a>. + +<h3 class=fn><a href="qdatastream.html">TQDataStream</a> & <a name="operator-gt-gt"></a>operator>> ( <a href="qdatastream.html">TQDataStream</a> & s, <a href="qregion.html">TQRegion</a> & r ) +</h3> + +<p> Reads a region from the stream <em>s</em> into <em>r</em> and returns a +reference to the stream. +<p> <p>See also <a href="datastreamformat.html">Format of the TQDataStream operators</a>. + +<!-- eof --> +<hr><p> +This file is part of the <a href="index.html">TQt toolkit</a>. +Copyright © 1995-2007 +<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> +<table width=100% cellspacing=0 border=0><tr> +<td>Copyright © 2007 +<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> +<td align=right><div align=right>TQt 3.3.8</div> +</table></div></address></body> +</html> |