diff options
author | Stephen Kennedy | 2008-07-09 11:30:49 +0000 |
---|---|---|
committer | Stephen Kennedy | 2008-07-09 11:30:49 +0000 |
commit | b035101732407ae7595d80162346f995242654f2 (patch) | |
tree | 2be605a7e511c2fcc85e8352587da5a0cae44aa7 /common/image-map.cpp | |
parent | d1bc01b1a9761cf1a45c99b22512b5c42cf3eb5b (diff) | |
download | scummvm-rg350-b035101732407ae7595d80162346f995242654f2.tar.gz scummvm-rg350-b035101732407ae7595d80162346f995242654f2.tar.bz2 scummvm-rg350-b035101732407ae7595d80162346f995242654f2.zip |
- keyboard fully tested with multiple modes - key press events successfully passed back to engine, mode switching also works
- added support to re-parse keyboard pack if overlay size changes (to find more suitable layouts)
svn-id: r32975
Diffstat (limited to 'common/image-map.cpp')
-rw-r--r-- | common/image-map.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/common/image-map.cpp b/common/image-map.cpp index 54b4858dd5..f9201618a4 100644 --- a/common/image-map.cpp +++ b/common/image-map.cpp @@ -28,10 +28,7 @@ namespace Common { ImageMap::~ImageMap() { - HashMap<String, Shape*>::iterator it; - for (it = _areas.begin(); it != _areas.end(); it++) { - delete it->_value; - } + removeAllAreas(); } Rect *ImageMap::createRectArea(const String& id) { @@ -54,22 +51,21 @@ Polygon *ImageMap::createPolygonArea(const String& id) { return p; } -/* -void ImageMap::addMapArea(Shape *shape, const String& target) { - if (_areas.contains(target)) { - warning("Image map already contains an area with target of '%s'"); +void ImageMap::removeArea(const String& id) { + if (!_areas.contains(id)) return; - } - _areas[target] = shape; -} -void ImageMap::addRectMapArea(const Rect& rect, const String& target) { - areas.push_back(MapArea(rect, target)); + delete _areas[id]; + _areas.erase(id); } -void ImageMap::addPolygonMapArea(const Polygon& poly, const String& target) { - areas.push_back(MapArea(poly, target)); +void ImageMap::removeAllAreas() { + HashMap<String, Shape*>::iterator it; + for (it = _areas.begin(); it != _areas.end(); it++) { + delete it->_value; + } + _areas.clear(); } -*/ + String ImageMap::findMapArea(int16 x, int16 y) { HashMap<String, Shape*>::iterator it; for (it = _areas.begin(); it != _areas.end(); it++) { |