1 /** Aesalon, a tool to visualize program behaviour in real time.
2 Copyright (C) 2009-2011, Aesalon development team.
4 Aesalon is distributed under the terms of the GNU GPLv3. See
5 the included file LICENSE for more information.
7 @file src/artisan/gviewport/LineObject.cpp
13 #include "artisan/gviewport/LineObject.h"
18 LineObject::LineObject(double layer
, double x1
, double y1
, double x2
, double y2
) {
19 m_bound
.setRange(TreeType::Range(layer
, layer
), 0);
20 m_bound
.setRange(TreeType::Range(x1
, x2
), 1);
21 m_bound
.setRange(TreeType::Range(y1
, y2
), 2);
24 LineObject::~LineObject() {
28 void LineObject::render(RenderedImage
&image
) {
29 Message(Debug
, "Rendering LineObject . . .");
31 image
.mapper().map(m_bound
.range(1).start(), m_bound
.range(2).start(), &x1
, &y1
);
33 image
.mapper().map(m_bound
.range(1).end(), m_bound
.range(2).end(), &x2
, &y2
);
35 Message(Debug
, "Coordinates: (" << x1
<< "," << y1
<< "), (" << x2
<< "," << y2
<< ")");
37 QPainter
*painter
= image
.painter();
39 painter
->setPen(qRgb(0, 0, 0));
41 painter
->drawLine(x1
* painter
->device()->width(), y1
* painter
->device()->height(),
42 x2
* painter
->device()->width(), y2
* painter
->device()->height());
45 } // namespace GViewport
46 } // namespace Artisan