<!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/doc/tutorial.doc:1301 -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > t10/cannon.cpp Example File< / 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 > t10/cannon.cpp Example File< / h1 >
< pre > /****************************************************************
**
** Implementation CannonField class, TQt tutorial 10
**
****************************************************************/
#include "cannon.h"
#include < < a href = "qpainter-h.html" > ntqpainter.h< / a > >
#include < < a href = "qpixmap-h.html" > ntqpixmap.h< / a > >
< a name = "f48" > < / a > CannonField::CannonField( < a href = "ntqwidget.html" > TQWidget< / a > *parent, const char *name )
: < a href = "ntqwidget.html" > TQWidget< / a > ( parent, name )
{
ang = 45;
f = 0;
< a href = "ntqwidget.html#setPalette" > setPalette< / a > ( TQPalette( TQColor( 250, 250, 200) ) );
}
void < a name = "f49" > < / a > CannonField::setAngle( int degrees )
{
if ( degrees < 5 )
degrees = 5;
if ( degrees > 70 )
degrees = 70;
if ( ang == degrees )
return;
ang = degrees;
< a href = "ntqwidget.html#repaint" > repaint< / a > ( cannonRect(), FALSE );
emit angleChanged( ang );
}
void < a name = "f50" > < / a > CannonField::setForce( int newton )
{
if ( newton < 0 )
newton = 0;
if ( f == newton )
return;
f = newton;
emit forceChanged( f );
}
void CannonField::< a href = "ntqwidget.html#paintEvent" > paintEvent< / a > ( < a href = "qpaintevent.html" > TQPaintEvent< / a > *e )
{
if ( !e-> < a href = "qpaintevent.html#rect" > rect< / a > ().intersects( cannonRect() ) )
return;
< a href = "ntqrect.html" > TQRect< / a > cr = cannonRect();
< a href = "ntqpixmap.html" > TQPixmap< / a > pix( cr.< a href = "ntqrect.html#size" > size< / a > () );
pix.< a href = "ntqpixmap.html#fill" > fill< / a > ( this, cr.< a href = "ntqrect.html#topLeft" > topLeft< / a > () );
< a href = "ntqpainter.html" > TQPainter< / a > p( & pix );
p.< a href = "ntqpainter.html#setBrush" > setBrush< / a > ( blue );
p.< a href = "ntqpainter.html#setPen" > setPen< / a > ( NoPen );
p.< a href = "ntqpainter.html#translate" > translate< / a > ( 0, pix.< a href = "ntqpixmap.html#height" > height< / a > () - 1 );
p.< a href = "ntqpainter.html#drawPie" > drawPie< / a > ( TQRect( -35,-35, 70, 70 ), 0, 90*16 );
p.< a href = "ntqpainter.html#rotate" > rotate< / a > ( -ang );
p.< a href = "ntqpainter.html#drawRect" > drawRect< / a > ( TQRect(33, -4, 15, 8) );
p.< a href = "ntqpainter.html#end" > end< / a > ();
p.< a href = "ntqpainter.html#begin" > begin< / a > ( this );
p.< a href = "ntqpainter.html#drawPixmap" > drawPixmap< / a > ( cr.< a href = "ntqrect.html#topLeft" > topLeft< / a > (), pix );
}
TQRect < a name = "f51" > < / a > CannonField::cannonRect() const
{
< a href = "ntqrect.html" > TQRect< / a > r( 0, 0, 50, 50 );
r.< a href = "ntqrect.html#moveBottomLeft" > moveBottomLeft< / a > ( < a href = "ntqwidget.html#rect" > rect< / a > ().bottomLeft() );
return r;
}
TQSizePolicy CannonField::< a href = "ntqwidget.html#sizePolicy" > sizePolicy< / a > () const
{
return TQSizePolicy( TQSizePolicy::Expanding, TQSizePolicy::Expanding );
}
< / pre > <!-- eof -->
< 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 >