diff options
Diffstat (limited to 'engines/director/sprite.cpp')
-rw-r--r-- | engines/director/sprite.cpp | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp index 0148c6665e..da86c0cf01 100644 --- a/engines/director/sprite.cpp +++ b/engines/director/sprite.cpp @@ -39,7 +39,6 @@ Sprite::Sprite() { _castId = 0; _backColor = 255; _foreColor = 0; - _pattern = 0; _left = 0; _right = 0; _top = 0; @@ -121,4 +120,49 @@ Sprite::~Sprite() { delete _buttonCast; } +uint16 Sprite::getPattern() { + switch (_spriteType) { + case kRectangleSprite: + case kRoundedRectangleSprite: + case kOvalSprite: + case kLineTopBottomSprite: + case kLineBottomTopSprite: + case kOutlinedRectangleSprite: + case kOutlinedRoundedRectangleSprite: + case kOutlinedOvalSprite: + return _castId; + + case kCastMemberSprite: + // TODO. Check type being shape, and return its pattern + warning("Sprite::getPattern(): kCastMemberSprite"); + return 0; + + default: + return 0; + } +} + +void Sprite::setPattern(uint16 pattern) { + switch (_spriteType) { + case kRectangleSprite: + case kRoundedRectangleSprite: + case kOvalSprite: + case kLineTopBottomSprite: + case kLineBottomTopSprite: + case kOutlinedRectangleSprite: + case kOutlinedRoundedRectangleSprite: + case kOutlinedOvalSprite: + _castId = pattern; + + case kCastMemberSprite: + // TODO + warning("Sprite::setPattern(): kCastMemberSprite"); + return; + + default: + return; + } +} + + } // End of namespace Director |