mirror of
https://github.com/scummvm/scummvm.git
synced 2026-06-20 05:45:29 +00:00
XEEN: Fix build warning by adding SpriteResource copy constructor
This commit is contained in:
committed by
Paul Gilbert
parent
557c3cecfc
commit
2e30aa882c
@@ -40,29 +40,27 @@ int SpriteResource::_clippedBottom;
|
||||
SpriteResource::SpriteResource() {
|
||||
_filesize = 0;
|
||||
_data = nullptr;
|
||||
_scaledWidth = _scaledHeight = 0;
|
||||
}
|
||||
|
||||
SpriteResource::SpriteResource(const Common::String &filename) {
|
||||
_data = nullptr;
|
||||
_scaledWidth = _scaledHeight = 0;
|
||||
load(filename);
|
||||
}
|
||||
|
||||
SpriteResource::SpriteResource(const Common::String &filename, int ccMode) {
|
||||
_data = nullptr;
|
||||
_scaledWidth = _scaledHeight = 0;
|
||||
load(filename, ccMode);
|
||||
}
|
||||
|
||||
SpriteResource::SpriteResource(const SpriteResource &src) {
|
||||
copy(src);
|
||||
}
|
||||
|
||||
SpriteResource::~SpriteResource() {
|
||||
clear();
|
||||
}
|
||||
|
||||
SpriteResource &SpriteResource::operator=(const SpriteResource &src) {
|
||||
delete[] _data;
|
||||
_index.clear();
|
||||
|
||||
void SpriteResource::copy(const SpriteResource &src) {
|
||||
_filesize = src._filesize;
|
||||
_data = new byte[_filesize];
|
||||
Common::copy(src._data, src._data + _filesize, _data);
|
||||
@@ -70,6 +68,13 @@ SpriteResource &SpriteResource::operator=(const SpriteResource &src) {
|
||||
_index.resize(src._index.size());
|
||||
for (uint i = 0; i < src._index.size(); ++i)
|
||||
_index[i] = src._index[i];
|
||||
}
|
||||
|
||||
SpriteResource &SpriteResource::operator=(const SpriteResource &src) {
|
||||
delete[] _data;
|
||||
_index.clear();
|
||||
|
||||
copy(src);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,6 @@ private:
|
||||
Common::Array<IndexEntry> _index;
|
||||
size_t _filesize;
|
||||
byte *_data;
|
||||
int _scaledWidth, _scaledHeight;
|
||||
Common::String _filename;
|
||||
static int _clippedBottom;
|
||||
|
||||
@@ -74,10 +73,16 @@ private:
|
||||
*/
|
||||
void draw(int windowNum, int frame, const Common::Point &destPos,
|
||||
const Common::Rect &bounds, uint flags = 0, int scale = 0);
|
||||
|
||||
/**
|
||||
* Deep copy assuming that the current instance is clean
|
||||
*/
|
||||
void copy(const SpriteResource &src);
|
||||
public:
|
||||
SpriteResource();
|
||||
SpriteResource(const Common::String &filename);
|
||||
SpriteResource(const Common::String &filename, int ccMode);
|
||||
SpriteResource(const SpriteResource &src);
|
||||
|
||||
virtual ~SpriteResource();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user