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 include/artisan/gviewport/BasicViewport.h
10 #ifndef AesalonArtisan_GViewport_BasicViewport_H
11 #define AesalonArtisan_GViewport_BasicViewport_H
13 #include "artisan/Viewport.h"
17 #include "RenderedImage.h"
22 class BasicViewport
: public Viewport
{ Q_OBJECT
25 RenderedImage m_image
;
29 BasicViewport(Data
*data
);
30 virtual ~BasicViewport();
32 Data
*data() const { return m_data
; }
34 Rect
rangeLimit() const { return m_rangeLimit
; }
35 void limitRange(const Rect
&newLimit
) { m_rangeLimit
= newLimit
; }
37 void translate(const Point
&upperLeft
);
38 void scale(double factor
);
40 void setViewport(const Rect
&range
);
42 void acceptRenderedImage(RenderedImage
*image
);
43 void updateRange(const Rect
&range
);
45 virtual void resizeEvent(QResizeEvent
*event
);
46 virtual void paintEvent(QPaintEvent
*event
);
49 } // namespace GViewport
50 } // namespace Artisan