1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Tutorial - t14/cannon.h</title>
</head><body bgcolor="#ffffff">
<p>
<table width="100%">
<tr><td><a href="index.html">
<img width="100" height="100" src="qtlogo.png"
alt="Home" border="0"><img width="100"
height="100" src="face.png" alt="Home" border="0">
</a><td valign=top><div align=right><img src="dochead.png" width="472" height="27"><br>
<a href="classes.html"><b>Classes</b></a>
-<a href="annotated.html">Annotated</a>
- <a href="hierarchy.html">Tree</a>
-<a href="functions.html">Functions</a>
-<a href="index.html">Home</a>
-<a href="topicals.html"><b>Structure</b></a>
</div>
</table>
<p>
<h1 align=center>Source code for <a href="t14.html">tutorial 14</a>: cannon.h</h1><br clear="all">
<hr> <pre>/****************************************************************
**
** Definition of CannonField class, Qt tutorial 14
**
****************************************************************/
#ifndef CANNON_H
#define CANNON_H
class QTimer;
#include <<a href="qwidget-h.html">qwidget.h</a>>
class CannonField : public QWidget
{
Q_OBJECT
public:
CannonField( <a href="qwidget.html">QWidget</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="qsize.html">QSize</a> sizeHint() const;
<a href="qsizepolicy.html">QSizePolicy</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">QPaintEvent</a> * );
void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
private:
void paintShot( <a href="qpainter.html">QPainter</a> * );
void paintTarget( <a href="qpainter.html">QPainter</a> * );
void paintBarrier( <a href="qpainter.html">QPainter</a> * );
void paintCannon( <a href="qpainter.html">QPainter</a> * );
<a href="qrect.html">QRect</a> cannonRect() const;
<a href="qrect.html">QRect</a> shotRect() const;
<a href="qrect.html">QRect</a> targetRect() const;
<a href="qrect.html">QRect</a> barrierRect() const;
bool barrelHit( const QPoint & ) const;
int ang;
int f;
int timerCount;
<a href="qtimer.html">QTimer</a> * autoShootTimer;
float shoot_ang;
float shoot_f;
<a href="qpoint.html">QPoint</a> target;
bool gameEnded;
bool barrelPressed;
};
#endif // CANNON_H
</pre>
<p>
<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright 2001 Trolltech<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 2.3.2</div>
</table></div></address></body></html>
|