/*
 * Copyright 2009-2010  Stefan Gehn <stefan@srcbox.net>
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of 
 * the License, or (at your option) any later version.
 * 
 * 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 General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "touchrectgroup.hpp"
#include <qapplication.h>
#include <qdebug.h>

using namespace IrTouch;


TouchRectGroup::TouchRectGroup()
{
	mBrush = QColor(255, 64, 64);
}


TouchRectGroup::~TouchRectGroup()
{
}


void TouchRectGroup::update(const IrTouch::TouchData &data)
{
	QAbstractGraphicsShapeItem *ri;
	QGraphicsSimpleTextItem *ti;
	double mmWidth;
	double mmHeight;

	clear();

	Q_FOREACH(const TouchRect &touchRect, data.rects().values())
	{
		ri = new QGraphicsRectItem(touchRect, this);
		ri->setBrush(mBrush);

		mmWidth = touchRect.width() / sPpmX;
		mmHeight = touchRect.height() / sPpmY;

		ti = new QGraphicsSimpleTextItem(mTextGroup);
		ti->setText(QString("rect %1 (%2mm * %3mm)") .arg(touchRect.id()).arg(mmWidth, 0, 'f', 1) .arg(mmHeight, 0, 'f', 1));
		ti->setFont(mFont);
		ti->setPos(touchRect.topLeft());
	}
}

