Add mouse vertical scrolling.
[familia.git] / src / storage / positions.h
1 /****************************************************************************
2  *  Familia Lignum - Genealogical program                                   *
3  *  Copyright (C) 2011-2012 Rafał Długołęcki <rafal@dlugolecki.net.pl>      *
4  *                                                                          *
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; version 2 of the License.                 *
8  *                                                                          *
9  *  This program is distributed in the hope that it will be useful,         *
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of          *
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
12  *  GNU General Public License for more details.                            *
13  *                                                                          *
14  *  You should have received a copy of the GNU General Public License along *
15  *  with this program; if not, write to the Free Software Foundation, Inc., *
16  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.             *
17  *                                                                          *
18  ****************************************************************************/
19
20 #ifndef _FAMILIA_STORAGE_POSITIONS_H
21 #define _FAMILIA_STORAGE_POSITIONS_H
22
23 #include "../math/3d.h"
24
25 #include "individual.h"
26 #include "family.h"
27
28 /**
29  * @file storage/positions.h
30  * @brief Code for managing 3D positions of objects.
31  *
32  */
33
34 /**
35  * Sets position for the given individual.
36  * @param individual individual to set the position
37  * @param pos position which will be used for individual
38  */
39 void familia_positions_set_individual_position(struct familia_individual *individual, struct position *pos);
40
41 /**
42  * Sets position for the given family.
43  * @param family family to set the position
44  * @param pos position which will be used for family
45  */
46 void familia_positions_set_family_position(struct familia_family *family, struct position *pos);
47
48 /**
49  * Gets position of the given individual.
50  * @param individual individual for which the position will be get
51  * @return position of the individual or NULL on error
52  */
53 struct position * familia_position_get_individual_position(struct familia_individual *individual);
54
55 /**
56  * Gets position of the given family
57  * @param family family for which the position will be get
58  * @return position of the family or NULL on error
59  */
60 struct position * familia_position_get_family_position(struct familia_family *family);
61
62 #endif /* _FAMILIA_STORAGE_POSITIONS_H */