/* * Copyright 2016 Canonical Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * * Authored by Florian Boucault */ import QtQuick 2.4 Item { id: segImg property alias textureSource: segmentRenderer.source property alias boxesSource: segmentBoundingBoxes.source property alias fillColor: segmentRenderer.fillColor implicitWidth: segmentRenderer.implicitWidth implicitHeight: segmentRenderer.implicitHeight // Ready to enroll. signal ready() function enrollMasks(masks) { if (masks && masks.length) { var segments = []; masks.forEach(function (mask, i) { var hitBox = [mask.x, mask.y, mask.width, mask.height]; segments = segments.concat(segmentBoundingBoxes.computeIntersections(hitBox)); }); segmentRenderer.animate(segments); } } SegmentRenderer { id: segmentRenderer segmentsCount: segmentBoundingBoxes.count } SegmentBoundingBoxes { id: segmentBoundingBoxes onReady: segImg.ready() } }