[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Camino-devel] camino/src/client TileSprite.h TileSprite.cpp
From: |
Pascal Audoux |
Subject: |
[Camino-devel] camino/src/client TileSprite.h TileSprite.cpp |
Date: |
Sun, 02 Mar 2003 16:11:42 -0500 |
CVSROOT: /cvsroot/camino
Module name: camino
Changes by: Pascal Audoux <address@hidden> 03/03/02 16:11:42
Modified files:
src/client : TileSprite.h TileSprite.cpp
Log message:
change API of tilesprite (inhetriting of class tile) for better
management
Patches:
Index: camino/src/client/TileSprite.cpp
diff -u camino/src/client/TileSprite.cpp:1.5
camino/src/client/TileSprite.cpp:1.6
--- camino/src/client/TileSprite.cpp:1.5 Thu Feb 27 12:26:25 2003
+++ camino/src/client/TileSprite.cpp Sun Mar 2 16:11:42 2003
@@ -2,7 +2,7 @@
**
** Camino
**
-** Version : $Id: TileSprite.cpp,v 1.5 2003/02/27 17:26:25 pfremy Exp $
+** Version : $Id: TileSprite.cpp,v 1.6 2003/03/02 21:11:42 Audoux Exp $
**
** Author(s) : Philippe Fremy, Pascal Audoux
** Creation : 22/01/2003
@@ -25,6 +25,7 @@
// generic include files
// include files for QT
+#include <qcanvas.h>
// application specific include files
#include "TileSprite.h"
#include "client/Theme.h"
@@ -32,22 +33,55 @@
/** rtti number for GraphicalFightUnit class */
const int TileSprite::RTTI = 1000;
-TileSprite::TileSprite( QCanvas * canvas )
- : QCanvasSprite( Theme::getTheme()->getTileArray( 0, 0 ), canvas )
+TileSprite::TileSprite( BoardCanvas * canvas, int row, int col )
+ : QCanvasSprite( Theme::getTheme()->getTileArray( Tile::TILE_UNKNOWN, 0
), canvas ),
+ _canvas( canvas )
{
- //_building = build;
- collisions( false );
- //setFrame( 2 * _building->getLevel() );
+ collisions( false );
setEnabled( true );
- place( 0, 0 );
+ Tile::setRow( row );
+ Tile::setCol( col );
+ reupdate();
show();
}
-void TileSprite::place( int row, int col )
+void TileSprite::reupdate()
{
- _row = row;
- _col = col;
- move( (double)(col * Theme::getTheme()->getTileSize()),
- (double)(row * Theme::getTheme()->getTileSize()) );
+ setSequence( Theme::getTheme()->getTileArray( _type, _rotation ) );
+ int x, y;
+ _canvas->rowCol2xy( _row, _col, &x, &y );
+ move( x, y );
+}
+
+void TileSprite::setRotation( int rotation )
+{
+ Tile::setRotation( rotation );
+ reupdate();
+}
+
+void TileSprite::setType( Tile::TileType type )
+{
+ Tile::setType( type );
+ reupdate();
+}
+
+void TileSprite::setPosition( int row, int col )
+{
+ Tile::setPosition( row, col );
+ reupdate();
+}
+
+
+void TileSprite::setRow( int row )
+{
+ Tile::setRow( row );
+ reupdate();
+}
+
+
+void TileSprite::setCol( int col )
+{
+ Tile::setCol( col );
+ reupdate();
}
Index: camino/src/client/TileSprite.h
diff -u camino/src/client/TileSprite.h:1.2 camino/src/client/TileSprite.h:1.3
--- camino/src/client/TileSprite.h:1.2 Tue Feb 4 16:05:43 2003
+++ camino/src/client/TileSprite.h Sun Mar 2 16:11:42 2003
@@ -5,7 +5,7 @@
** TileSprite.h
** graphical item for tiles
**
-** Version : $Id: TileSprite.h,v 1.2 2003/02/04 21:05:43 Audoux Exp $
+** Version : $Id: TileSprite.h,v 1.3 2003/03/02 21:11:42 Audoux Exp $
** Author(s) : Philippe Fremy, Pascal Audoux
** Creation : 22/01/2003
** Copyright: Pascal Audoux, Philippe Fremy 2003
@@ -30,9 +30,9 @@
// generic include files
// include files for QT
-#include <qcanvas.h>
// application specific include files
-
+#include "common/Tile.h"
+#include "client/BoardCanvas.h"
/* ------------------------------
* TileSprite
@@ -41,26 +41,33 @@
/** comment for the class */
-class TileSprite : public QCanvasSprite
+class TileSprite : public QCanvasSprite, public Tile
{
public:
/** Constructor */
- TileSprite( QCanvas * canvas );
+ TileSprite( BoardCanvas * canvas, int row = 0, int col = 0 );
- void place( int row, int col );
+ /** Return RTTI */
+ int rtti() const { return RTTI; };
- int getCol() { return _col; }
+ void reupdate();
- int getRow() { return _row; }
+ virtual void setRotation( int rotation );
- /** Return RTTI */
- int rtti() const { return RTTI; };
+ virtual void setType( Tile::TileType type );
+
+ virtual void setPosition( int row, int col );
+
+ virtual void setRow( int row );
+
+ virtual void setCol( int col );
static const int RTTI;
protected:
- int _row, _col;
+ Tile * _tile;
+ BoardCanvas * _canvas;
};
#endif // TILESPRITE_H
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Camino-devel] camino/src/client TileSprite.h TileSprite.cpp,
Pascal Audoux <=