Merge branch 'master' into pan_map
[situare] / src / map / mapcommon.h
1 /*
2    Situare - A location system for Facebook
3    Copyright (C) 2010  Ixonos Plc. Authors:
4
5        Sami Rämö - sami.ramo@ixonos.com
6        Jussi Laitinen - jussi.laitinen@ixonos.com
7
8    Situare is free software; you can redistribute it and/or
9    modify it under the terms of the GNU General Public License
10    version 2 as published by the Free Software Foundation.
11
12    Situare is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with Situare; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
20    USA.
21 */
22
23 #ifndef MAPCOMMON_H
24 #define MAPCOMMON_H
25
26 #include <QtCore>
27
28 const int TILE_SIZE_X = 256; ///< Tile image size in x direction
29 const int TILE_SIZE_Y = 256; ///< Tile image size in y direction
30
31 const int MIN_MAP_ZOOM_LEVEL = 0; ///< Minimum zoom level
32 const int MAX_MAP_ZOOM_LEVEL = 18; ///< Maximum zoom level
33 const int MIN_VIEW_ZOOM_LEVEL = 2; ///< Minimum zoom level for MapView
34 const int MIN_MAP_SCENE_NORMAL_LEVEL = MAX_MAP_ZOOM_LEVEL + 1;
35
36 const int MAX_TILES_PER_SIDE = (1 << MAX_MAP_ZOOM_LEVEL);
37 const int MAP_PIXELS_X = MAX_TILES_PER_SIDE * TILE_SIZE_X;
38
39 const int MAP_MIN_PIXEL_X = 0;
40 const int MAP_MAX_PIXEL_X = MAP_PIXELS_X - 1;
41
42 const int MAP_SCENE_MIN_PIXEL_X = -MAP_PIXELS_X / 2;
43 const int MAP_SCENE_MAX_PIXEL_X = MAP_PIXELS_X * 2;
44
45 /**
46 * @var DEFAULT_START_ZOOM_LEVEL
47 * @brief Maps Default zoom level, used when latest zoom level is not available.
48 */
49 const int DEFAULT_START_ZOOM_LEVEL = MIN_VIEW_ZOOM_LEVEL;
50
51 /**
52 * @var FRIEND_LOCATION_ICON_Z_LEVEL
53 * @brief layer of friend location icon
54 */
55 const int FRIEND_LOCATION_ICON_Z_LEVEL = MIN_MAP_SCENE_NORMAL_LEVEL + MAX_MAP_ZOOM_LEVEL + 1;
56
57 const int GROUP_ITEM_FRIENDS_COUNT_X = 13;  ///< Group item friends count x value
58 const int GROUP_ITEM_FRIENDS_COUNT_Y = 13;  ///< Group item friends count y value
59 const int GROUP_ITEM_FRIENDS_COUNT_WIDTH = 17;  ///< Group item friends count width value
60 const int GROUP_ITEM_FRIENDS_COUNT_HEIGHT = 17; ///< Group item friends count height value
61
62 const int PRESS_MANHATTAN_LENGTH = 30;   ///< Friend/group item press manhattan length
63
64 /**
65 * @var OWN_LOCATION_ICON_Z_LEVEL
66 * @brief layer of own location icon
67 */
68 const int OWN_LOCATION_ICON_Z_LEVEL = FRIEND_LOCATION_ICON_Z_LEVEL + 1;
69
70 const qreal ZOOM_TIME = 250; ///< Length of the zoom effect (ms)
71
72 const qreal MAX_LATITUDE = 85.05112877980659237802;  ///< Maximum latitude value
73 const qreal MIN_LATITUDE = -MAX_LATITUDE; ///< Minimum latitude value
74 const qreal MIN_LONGITUDE = -180.0;  ///< Minimum longitude value
75 const qreal MAX_LONGITUDE = 180.0;  ///< Maximum longitude value
76
77 const int DEFAULT_SCREEN_WIDTH = 973;    ///< Default screen width
78 const int DEFAULT_SCREEN_HEIGHT = 614;   ///< Default screen height
79 const int DEFAULT_ZOOM_LEVEL = 14;       ///< Default zoom level
80 const qreal DEFAULT_LONGITUDE = 0.0000;  ///< Default longitude value
81 const qreal DEFAULT_LATITUDE = 0.0000; ///< Default latitude value
82
83 const qreal EARTH_RADIUS = 6371.01;         ///< Earth radius in km
84
85 const int GRID_PADDING = 0;  ///< Grid padding used in tile grid calculation
86
87 const QString OSM_LICENSE = QString::fromUtf8("© OpenStreetMap contributors, CC-BY-SA");
88
89 const int AUTO_CENTERING_DISABLE_DISTANCE = 200; ///< Distance in pixels
90
91 //String constants for storing map settings:
92 const QString MAP_LAST_ZOOMLEVEL = "Last_map_zoom_level"; ///< Maps last zoom level before logout
93 const QString MAP_LAST_POSITION = "Last_map_location"; ///< Maps last postion before logout
94 /**
95 * @var ERROR_VALUE_NOT_FOUND_ON_SETTINGS
96 * @brief Error string that program will get if value is not found on settings
97 */
98 const QString ERROR_VALUE_NOT_FOUND_ON_SETTINGS = "Value_not_found";
99
100 /**
101 * @var UNDEFINED
102 * @brief Value to be used when zoom level, tile numbers or position are not defined
103 */
104 const int UNDEFINED = INT_MIN;
105
106 #endif // MAPCOMMON_H