diff options
author | Matthew Hoops | 2011-02-20 01:20:04 -0500 |
---|---|---|
committer | Matthew Hoops | 2011-02-20 12:44:59 -0500 |
commit | dceb1391cb92126891b805494b4645272c7fddbe (patch) | |
tree | bb1cd4b1215d59f6548209a059893712704b33c1 /engines/sci/graphics/maciconbar.h | |
parent | fe250d275564e9dfcfbbf16926852d9cfcf17fc1 (diff) | |
download | scummvm-rg350-dceb1391cb92126891b805494b4645272c7fddbe.tar.gz scummvm-rg350-dceb1391cb92126891b805494b4645272c7fddbe.tar.bz2 scummvm-rg350-dceb1391cb92126891b805494b4645272c7fddbe.zip |
SCI: Cache all icon bar images from the start
Diffstat (limited to 'engines/sci/graphics/maciconbar.h')
-rw-r--r-- | engines/sci/graphics/maciconbar.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/engines/sci/graphics/maciconbar.h b/engines/sci/graphics/maciconbar.h index 71e65fcb40..0731da497d 100644 --- a/engines/sci/graphics/maciconbar.h +++ b/engines/sci/graphics/maciconbar.h @@ -38,15 +38,24 @@ namespace Sci { class GfxMacIconBar { public: - GfxMacIconBar() {} - ~GfxMacIconBar() {} + GfxMacIconBar(); + ~GfxMacIconBar(); void addIcon(reg_t obj); void drawIcons(); private: - Common::Array<reg_t> _iconBarObjects; + struct IconBarItem { + reg_t object; + Graphics::Surface *nonSelectedImage; + Graphics::Surface *selectedImage; + Common::Rect rect; + }; + Common::Array<IconBarItem> _iconBarItems; + uint32 _lastX; + + Graphics::Surface *createImage(uint32 iconIndex, bool isSelected); void remapColors(Graphics::Surface *surf, byte *palette); }; |