2 Copyright (C) 2007 Paul Davis
3 Author: David Robillard
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 using namespace Gnome::Canvas
;
23 using namespace Gnome::Art
;
25 Diamond::Diamond(Group
& group
, double height
)
31 points
= gnome_canvas_points_new (4);
37 gnome_canvas_points_free (points
);
41 Diamond::set_height (double height
)
48 Diamond::move_to (double x
, double y
)
53 points
->coords
[0] = _x
;
54 points
->coords
[1] = _y
+ (_h
* 2.0);
56 points
->coords
[2] = _x
+ _h
;
57 points
->coords
[3] = _y
+ _h
;
59 points
->coords
[4] = _x
;
60 points
->coords
[5] = _y
;
62 points
->coords
[6] = _x
- _h
;
63 points
->coords
[7] = _y
+ _h
;
65 g_object_set (gobj(), "points", points
, NULL
);
69 Diamond::move_by (double dx
, double dy
)
71 points
->coords
[0] += dx
;
72 points
->coords
[1] += dy
;
74 points
->coords
[2] += dx
;
75 points
->coords
[3] += dy
;
77 points
->coords
[4] += dx
;
78 points
->coords
[5] += dy
;
80 points
->coords
[6] += dx
;
81 points
->coords
[7] += dy
;
83 g_object_set (gobj(), "points", points
, NULL
);