2 Copyright (C) 2007 Paul Davis
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);
32 g_object_set (gobj(), "points", points
, NULL
);
38 gnome_canvas_points_free (points
);
42 Diamond::set_height (double height
)
49 Diamond::move_to (double x
, double y
)
54 points
->coords
[0] = _x
;
55 points
->coords
[1] = _y
+ (_h
* 2.0);
57 points
->coords
[2] = _x
+ _h
;
58 points
->coords
[3] = _y
+ _h
;
60 points
->coords
[4] = _x
;
61 points
->coords
[5] = _y
;
63 points
->coords
[6] = _x
- _h
;
64 points
->coords
[7] = _y
+ _h
;
66 g_object_set (gobj(), "points", points
, NULL
);
70 Diamond::move_by (double dx
, double dy
)
72 points
->coords
[0] += dx
;
73 points
->coords
[1] += dy
;
75 points
->coords
[2] += dx
;
76 points
->coords
[3] += dy
;
78 points
->coords
[4] += dx
;
79 points
->coords
[5] += dy
;
81 points
->coords
[6] += dx
;
82 points
->coords
[7] += dy
;
84 g_object_set (gobj(), "points", points
, NULL
);