camino-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]