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
|
/****************************************************************
**
** Attal : Lords of Doom
**
** graphicalPath.h
** Visible path on the map
**
** Version : $Id: graphicalPath.h,v 1.4 2004/08/01 17:29:33 audoux Exp $
**
** Author(s) : Pascal Audoux
**
** Date : 07/01/2001
**
** Licence :
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2, or (at your option)
** any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
****************************************************************/
#ifndef GRAPHICALPATH_H
#define GRAPHICALPATH_H
// generic include files
// include files for QT
#include <qcanvas.h>
#include <qptrlist.h>
// application specific include files
#include "libClient/map.h"
#include "libClient/cell.h"
class GraphicalPathCell;
/* ------------------------------
* GraphicalPath
* ------------------------------ */
/** comment for the class */
class GraphicalPath : public QPtrList<GraphicalPathCell>
{
public:
/** Constructor */
GraphicalPath( Map * map );
/** Init the pathes for the 'cell' */
void initPath( GenericCell * cell );
private:
Map * _map;
};
/** Sprite for displatying the path on the map */
class GraphicalPathCell : public QCanvasSprite
{
public:
/** Constructor */
GraphicalPathCell( QCanvas * canvas );
/** Put it on the map */
void setPosition( Cell * cell );
/** Set as the end of path */
void computeFrame( int prevRow, int prevCol, int nextRow, int nextCol );
/** Get the row of the cell */
int getRow() { return _row; }
/** Get the col of the cell */
int getCol() { return _col; }
void setFar( bool state );
private:
int _row, _col;
};
/** Computes good arrow for the path */
class ArrowNumber
{
public:
/** Constrcutor */
ArrowNumber();
/** \return Returns the frame number for the good arrow */
int getFrame( int prev, int next );
private:
int _arrow[8][8];
};
#endif // GRAPHICALPATH_H
|