18 |
*/ |
*/ |
19 |
|
|
20 |
#include "gpxview.h" |
#include "gpxview.h" |
21 |
|
#include <math.h> // for isnan() |
22 |
|
|
23 |
struct icon_data { |
struct icon_data { |
24 |
GdkPixbuf **data; |
GdkPixbuf **data; |
25 |
int count; |
int count; |
26 |
} icons[] = { |
} icons[] = { |
27 |
{ NULL, CACHE_TYPE_MAX+1 }, /* ICON_CACHE_TYPE */ |
{ NULL, CACHE_TYPE_MAX+1 }, /* ICON_CACHE_TYPE */ |
28 |
{ NULL, CACHE_CONT_MAX+1 }, /* ICON_CACHE_SIZE */ |
{ NULL, CACHE_TYPE_MAX+1 }, /* ICON_CACHE_TYPE_SEMI */ |
29 |
{ NULL, 9 }, /* ICON_STARS */ |
{ NULL, CACHE_CONT_MAX+1 }, /* ICON_CACHE_SIZE */ |
30 |
{ NULL, LOG_TYPE_MAX+1 }, /* ICON_LOG */ |
{ NULL, 9 }, /* ICON_STARS */ |
31 |
{ NULL, 9 }, /* ICON_HEADING */ |
{ NULL, LOG_TYPE_MAX+1 }, /* ICON_LOG */ |
32 |
{ NULL, WPT_SYM_MAX+1 }, /* ICON_WPT */ |
{ NULL, 9 }, /* ICON_HEADING */ |
33 |
{ NULL, 1 }, /* ICON_TB */ |
{ NULL, WPT_SYM_MAX+1 }, /* ICON_WPT */ |
34 |
{ NULL, 8 }, /* ICON_MISC */ |
{ NULL, 1 }, /* ICON_TB */ |
35 |
{ NULL, 3 }, /* ICON_FILE */ |
{ NULL, 9 }, /* ICON_MISC */ |
36 |
|
{ NULL, 3 }, /* ICON_FILE */ |
37 |
{ NULL, -1 } |
{ NULL, -1 } |
38 |
}; |
}; |
39 |
|
|
40 |
/* ICON_CACHE_TYPE */ |
/* ICON_CACHE_TYPE / ICON_CACHE_TYPE_SEMI */ |
41 |
const char *cache_type_icon_name[] = { |
const char *cache_type_icon_name[] = { |
42 |
"traditional", "multi", "mystery", "virtual", "webcam", "event", |
"traditional", "multi", "mystery", "virtual", "webcam", "event", |
43 |
"letterbox", "earthcache", "wherigo", "megaevent", "cito" |
"letterbox", "earthcache", "wherigo", "megaevent", "cito" |
83 |
/* ICON_MISC */ |
/* ICON_MISC */ |
84 |
const char *misc_icon_name[] = { |
const char *misc_icon_name[] = { |
85 |
"maemo-mapper-out", "override", "locked", "unlocked", "found", |
"maemo-mapper-out", "override", "locked", "unlocked", "found", |
86 |
"maemo-mapper-in", "note", "delete" |
"maemo-mapper-in", "note", "delete", "paypal" |
87 |
}; |
}; |
88 |
|
|
89 |
/* ICON_FILE */ |
/* ICON_FILE */ |
155 |
/* load cache type icons */ |
/* load cache type icons */ |
156 |
icons_load(ICON_CACHE_TYPE, "cache_type_%s.%s", cache_type_icon_name); |
icons_load(ICON_CACHE_TYPE, "cache_type_%s.%s", cache_type_icon_name); |
157 |
|
|
158 |
|
/* load cache type icons */ |
159 |
|
icons_load(ICON_CACHE_TYPE_SEMI, "cache_type_%s_semi.%s", cache_type_icon_name); |
160 |
|
|
161 |
/* load cache container/size icons */ |
/* load cache container/size icons */ |
162 |
icons_load(ICON_CACHE_SIZE, "cache_size_%s.%s", cache_size_icon_name); |
icons_load(ICON_CACHE_SIZE, "cache_size_%s.%s", cache_size_icon_name); |
163 |
|
|
215 |
} |
} |
216 |
|
|
217 |
GdkPixbuf *icon_bearing(pos_t from, pos_t to) { |
GdkPixbuf *icon_bearing(pos_t from, pos_t to) { |
218 |
if(isnan(from.lat) && isnan(from.lon)) |
if(isnan(from.lat) || isnan(from.lon) || |
219 |
|
isnan(to.lat) || isnan(to.lon)) |
220 |
return icon_get(ICON_HEADING, 8); |
return icon_get(ICON_HEADING, 8); |
221 |
|
|
222 |
int idx = (gpx_pos_get_bearing(from, to)+22.5)/45.0; |
int idx = (gpx_pos_get_bearing(from, to)+22.5)/45.0; |