Add mouse vertical scrolling.
[familia.git] / src / math / 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_MATH_POSITIONS_H
21 #define _FAMILIA_MATH_POSITIONS_H
22
23 #include "3d.h"
24
25 #include "storage/individual.h"
26 #include "storage/family.h"
27
28 struct objects_boundaries {
29         double top;
30         double right;
31         double bottom;
32         double left;
33 };
34
35 /**
36  * @file math/positions.h
37  * @brief Code for calculating 3D positions of objects.
38  *
39  */
40
41 /**
42  * Calculates local position of given individual
43  * @param individual individual to calculate position
44  * @return calculated local position of the individual
45  */
46 struct position * calculate_individual_position(struct familia_individual * individual);
47
48 /**
49  * Calculates local position of given family
50  * @param family family to calculate position
51  * @return calculated local position of the family
52  */
53 struct position * calculate_family_position(struct familia_family * family);
54
55 #endif /* _FAMILIA_MATH_POSITIONS_H */