<!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:2375 -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > t14/cannon.h 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 > t14/cannon.h Example File< / h1 >
< pre > /****************************************************************
**
** Definition of CannonField class, TQt tutorial 14
**
****************************************************************/
#ifndef CANNON_H
#define CANNON_H
class TQTimer;
#include < < a href = "qwidget-h.html" > ntqwidget.h< / a > >
class CannonField : public < a href = "ntqwidget.html" > TQWidget< / a >
{
Q_OBJECT
public:
CannonField( < a href = "ntqwidget.html" > TQWidget< / a > *parent=0, const char *name=0 );
int angle() const { return ang; }
int force() const { return f; }
bool gameOver() const { return gameEnded; }
bool isShooting() const;
< a href = "ntqsize.html" > TQSize< / a > sizeHint() const;
< a href = "ntqsizepolicy.html" > TQSizePolicy< / a > sizePolicy() const;
public slots:
void setAngle( int degrees );
void setForce( int newton );
void shoot();
void newTarget();
void setGameOver();
void restartGame();
private slots:
void moveShot();
signals:
void hit();
void missed();
void angleChanged( int );
void forceChanged( int );
void canShoot( bool );
protected:
void paintEvent( < a href = "qpaintevent.html" > TQPaintEvent< / a > * );
void mousePressEvent( < a href = "qmouseevent.html" > TQMouseEvent< / a > * );
void mouseMoveEvent( < a href = "qmouseevent.html" > TQMouseEvent< / a > * );
void mouseReleaseEvent( < a href = "qmouseevent.html" > TQMouseEvent< / a > * );
private:
void paintShot( < a href = "ntqpainter.html" > TQPainter< / a > * );
void paintTarget( < a href = "ntqpainter.html" > TQPainter< / a > * );
void paintBarrier( < a href = "ntqpainter.html" > TQPainter< / a > * );
void paintCannon( < a href = "ntqpainter.html" > TQPainter< / a > * );
< a href = "ntqrect.html" > TQRect< / a > cannonRect() const;
< a href = "ntqrect.html" > TQRect< / a > shotRect() const;
< a href = "ntqrect.html" > TQRect< / a > targetRect() const;
< a href = "ntqrect.html" > TQRect< / a > barrierRect() const;
bool barrelHit( const < a href = "ntqpoint.html" > TQPoint< / a > & ) const;
int ang;
int f;
int timerCount;
< a href = "ntqtimer.html" > TQTimer< / a > * autoShootTimer;
float shoot_ang;
float shoot_f;
< a href = "ntqpoint.html" > TQPoint< / a > target;
bool gameEnded;
bool barrelPressed;
};
#endif // CANNON_H
< / 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 >