diff --git a/TrackerPlugin_EyeTracker.cpp b/TrackerPlugin_EyeTracker.cpp index c7d686d..445417e 100644 --- a/TrackerPlugin_EyeTracker.cpp +++ b/TrackerPlugin_EyeTracker.cpp @@ -237,23 +237,28 @@ void TrackerPlugin_EyeTracker::onItemChanged(QGraphicsItem *item) if(rect.x() < 0){ rect.setRight(rect.right() - rect.x()); rect.setLeft(0); - rectItems.at(rectIdx)->setRect(rect); } + }else if (rect.right() >= cameraResolution.width()){ + rect.setLeft(rect.left() + (cameraResolution.width() - rect.right())); + rect.setRight(cameraResolution.width()); + } if(rect.y() < 0){ rect.setBottom(rect.bottom() - rect.y()); rect.setTop(0); - rectItems.at(rectIdx)->setRect(rect); + }else if (rect.bottom() >= cameraResolution.height()){ + rect.setTop(rect.top() + (cameraResolution.height() - rect.bottom())); + rect.setBottom(cameraResolution.height()); } - if (rect.right() >= cameraResolution.width()){ - rect.setLeft(rect.left() + (cameraResolution.width() - rect.right())); + if(rect.width()> cameraResolution.width()){ + rect.setLeft(0); rect.setRight(cameraResolution.width()); - rectItems.at(rectIdx)->setRect(rect); } - if (rect.bottom() >= cameraResolution.height()){ - rect.setTop(rect.top() + (cameraResolution.height() - rect.bottom())); + if(rect.height()>cameraResolution.height()){ + rect.setTop(0); rect.setBottom(cameraResolution.height()); - rectItems.at(rectIdx)->setRect(rect); } + rectItems.at(rectIdx)->setRect(rect); + emit(roiChanged(rectIdx, rect.toRect())); } }