[Scummvm-cvs-logs] SF.net SVN: scummvm:[41654] scummvm/branches/gsoc2009-draci/engines/draci
dkasak13 at users.sourceforge.net
dkasak13 at users.sourceforge.net
Fri Jun 19 02:00:32 CEST 2009
Revision: 41654
http://scummvm.svn.sourceforge.net/scummvm/?rev=41654&view=rev
Author: dkasak13
Date: 2009-06-19 00:00:31 +0000 (Fri, 19 Jun 2009)
Log Message:
-----------
Added Sprite::draw() method for drawing sprites to a Surface.
Modified Paths:
--------------
scummvm/branches/gsoc2009-draci/engines/draci/sprite.cpp
scummvm/branches/gsoc2009-draci/engines/draci/sprite.h
Modified: scummvm/branches/gsoc2009-draci/engines/draci/sprite.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/sprite.cpp 2009-06-18 23:55:35 UTC (rev 41653)
+++ scummvm/branches/gsoc2009-draci/engines/draci/sprite.cpp 2009-06-19 00:00:31 UTC (rev 41654)
@@ -22,8 +22,10 @@
* $Id$
*
*/
+
#include "common/stream.h"
+#include "draci/draci.h"
#include "draci/sprite.h"
namespace Draci {
@@ -75,7 +77,24 @@
Sprite::~Sprite() {
delete[] _data;
}
+
+void Sprite::draw(Surface *surface) const {
+ byte *dst = (byte *)surface->getBasePtr(_x, _y);
+ byte *src = _data;
+
+ for (unsigned int i = 0; i < _height; ++i) {
+ for(unsigned int j = 0; j < _width; ++j, ++src) {
+ if (*src != surface->getTransparentColour())
+ dst[j] = *src;
+ }
+ dst += surface->pitch;
+ }
+
+ Common::Rect r(_x, _y, _x + _width, _y + _height);
+ surface->markDirtyRect(r);
+}
+
} // End of namespace Draci
Modified: scummvm/branches/gsoc2009-draci/engines/draci/sprite.h
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/sprite.h 2009-06-18 23:55:35 UTC (rev 41653)
+++ scummvm/branches/gsoc2009-draci/engines/draci/sprite.h 2009-06-19 00:00:31 UTC (rev 41654)
@@ -26,6 +26,8 @@
#ifndef DRACI_SPRITE_H
#define DRACI_SPRITE_H
+#include "draci/surface.h"
+
namespace Draci {
/**
@@ -52,6 +54,8 @@
~Sprite();
+ void draw(Surface *surface) const;
+
byte *_data;
uint16 _width;
uint16 _height;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list