summaryrefslogtreecommitdiff
path: root/libs/canvas/test/item.cc
blob: 96ea2d2f15ac7d611fe6bb038b12f035bab19a10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "canvas/group.h"
#include "canvas/item.h"
#include "canvas/canvas.h"
#include "canvas/rectangle.h"
#include "item.h"

using namespace std;
using namespace ArdourCanvas;

CPPUNIT_TEST_SUITE_REGISTRATION (ItemTest);

void
ItemTest::item_to_canvas ()
{
	ImageCanvas canvas;
	Group gA (canvas.root ());
	gA.set_position (Duple (128, 128));
	Group gB (&gA);
	gB.set_position (Duple (45, 55));
	Rectangle rA (&gB);
	rA.set_position (Duple (99, 23));

	Rect const r = rA.item_to_canvas (Rect (3, 6, 7, 9));
	CPPUNIT_ASSERT (r.x0 == (128 + 45 + 99 + 3));
	CPPUNIT_ASSERT (r.y0 == (128 + 55 + 23 + 6));
	CPPUNIT_ASSERT (r.x1 == (128 + 45 + 99 + 7));
	CPPUNIT_ASSERT (r.y1 == (128 + 55 + 23 + 9));
}