From b035101732407ae7595d80162346f995242654f2 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Wed, 9 Jul 2008 11:30:49 +0000 Subject: - 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 --- common/image-map.cpp | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'common/image-map.cpp') 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::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::iterator it; + for (it = _areas.begin(); it != _areas.end(); it++) { + delete it->_value; + } + _areas.clear(); } -*/ + String ImageMap::findMapArea(int16 x, int16 y) { HashMap::iterator it; for (it = _areas.begin(); it != _areas.end(); it++) { -- cgit v1.2.3