Fixed the image_display so that when you try to click on boxes that happen to

have object parts labeled with OBJECT_PART_NOT_PRESENT it doesn't accidentally
move that non-present part rather than what you are clicking on.
This commit is contained in:
Davis King 2015-07-17 19:41:33 -04:00
parent d37699e64a
commit 7c8b9828a3

View File

@ -6312,6 +6312,9 @@ namespace dlib
std::map<std::string,point>::const_iterator itr; std::map<std::string,point>::const_iterator itr;
for (itr = overlay_rects[i].parts.begin(); itr != overlay_rects[i].parts.end(); ++itr) for (itr = overlay_rects[i].parts.begin(); itr != overlay_rects[i].parts.end(); ++itr)
{ {
if (itr->second == OBJECT_PART_NOT_PRESENT)
continue;
rectangle temp = centered_rect(get_rect_on_screen(centered_rect(itr->second,1,1)), part_width, part_width); rectangle temp = centered_rect(get_rect_on_screen(centered_rect(itr->second,1,1)), part_width, part_width);
if (rect_is_selected && selected_rect == i && if (rect_is_selected && selected_rect == i &&
@ -6504,6 +6507,9 @@ namespace dlib
std::map<std::string,point>::const_iterator itr; std::map<std::string,point>::const_iterator itr;
for (itr = overlay_rects[i].parts.begin(); itr != overlay_rects[i].parts.end(); ++itr) for (itr = overlay_rects[i].parts.begin(); itr != overlay_rects[i].parts.end(); ++itr)
{ {
if (itr->second == OBJECT_PART_NOT_PRESENT)
continue;
rectangle temp = centered_rect(get_rect_on_screen(centered_rect(itr->second,1,1)), part_width, part_width); rectangle temp = centered_rect(get_rect_on_screen(centered_rect(itr->second,1,1)), part_width, part_width);
point c = center(temp); point c = center(temp);
@ -6647,6 +6653,9 @@ namespace dlib
std::map<std::string,point>::const_iterator itr; std::map<std::string,point>::const_iterator itr;
for (itr = overlay_rects[i].parts.begin(); itr != overlay_rects[i].parts.end(); ++itr) for (itr = overlay_rects[i].parts.begin(); itr != overlay_rects[i].parts.end(); ++itr)
{ {
if (itr->second == OBJECT_PART_NOT_PRESENT)
continue;
rectangle temp = centered_rect(get_rect_on_screen(centered_rect(itr->second,1,1)), part_width, part_width); rectangle temp = centered_rect(get_rect_on_screen(centered_rect(itr->second,1,1)), part_width, part_width);
point c = center(temp); point c = center(temp);