22 |
|
|
23 |
#include <math.h> |
#include <math.h> |
24 |
|
|
25 |
|
#ifdef USE_FLOAT |
26 |
|
/* use float instead of double on small machines */ |
27 |
|
typedef float pos_float_t; |
28 |
|
#else |
29 |
|
typedef double pos_float_t; |
30 |
|
#endif |
31 |
|
|
32 |
#ifndef NAN |
#ifndef NAN |
33 |
#define NAN (0.0/0.0) |
#define NAN (0.0/0.0) |
34 |
#endif |
#endif |
44 |
|
|
45 |
/* global position */ |
/* global position */ |
46 |
typedef struct pos { |
typedef struct pos { |
47 |
double lat, lon; |
pos_float_t lat, lon; |
48 |
} pos_t; |
} pos_t; |
49 |
|
|
50 |
/* local position */ |
/* local position */ |
57 |
void pos2lpos_center(pos_t *pos, lpos_t *lpos); |
void pos2lpos_center(pos_t *pos, lpos_t *lpos); |
58 |
void lpos2pos(struct bounds_s *bounds, lpos_t *lpos, pos_t *pos); |
void lpos2pos(struct bounds_s *bounds, lpos_t *lpos, pos_t *pos); |
59 |
|
|
60 |
void pos_lat_str(char *str, int len, double latitude); |
void pos_lat_str(char *str, int len, pos_float_t latitude); |
61 |
void pos_lon_str(char *str, int len, double longitude); |
void pos_lon_str(char *str, int len, pos_float_t longitude); |
62 |
|
|
63 |
double pos_parse_lat(char *str); |
pos_float_t pos_parse_lat(char *str); |
64 |
double pos_parse_lon(char *str); |
pos_float_t pos_parse_lon(char *str); |
65 |
|
|
66 |
GtkWidget *pos_lat_entry_new(double lat); |
GtkWidget *pos_lat_entry_new(pos_float_t lat); |
67 |
GtkWidget *pos_lon_entry_new(double lon); |
GtkWidget *pos_lon_entry_new(pos_float_t lon); |
68 |
void pos_lat_entry_set(GtkWidget *label, double lat); |
void pos_lat_entry_set(GtkWidget *label, pos_float_t lat); |
69 |
void pos_lon_entry_set(GtkWidget *label, double lon); |
void pos_lon_entry_set(GtkWidget *label, pos_float_t lon); |
70 |
|
|
71 |
GtkWidget *pos_lat_label_new(double lat); |
GtkWidget *pos_lat_label_new(pos_float_t lat); |
72 |
GtkWidget *pos_lon_label_new(double lon); |
GtkWidget *pos_lon_label_new(pos_float_t lon); |
73 |
void pos_lat_label_set(GtkWidget *label, double lat); |
void pos_lat_label_set(GtkWidget *label, pos_float_t lat); |
74 |
void pos_lon_label_set(GtkWidget *label, double lon); |
void pos_lon_label_set(GtkWidget *label, pos_float_t lon); |
75 |
|
|
76 |
double pos_lat_get(GtkWidget *widget); |
pos_float_t pos_lat_get(GtkWidget *widget); |
77 |
double pos_lon_get(GtkWidget *widget); |
pos_float_t pos_lon_get(GtkWidget *widget); |
78 |
|
|
79 |
gboolean pos_lat_valid(double lat); |
gboolean pos_lat_valid(pos_float_t lat); |
80 |
gboolean pos_lon_valid(double lon); |
gboolean pos_lon_valid(pos_float_t lon); |
81 |
|
|
82 |
double pos_parse_dist(char *str, gboolean is_mil); |
pos_float_t pos_parse_dist(char *str, gboolean is_mil); |
83 |
void pos_dist_str(char *str, int len, double dist, gboolean is_mil); |
void pos_dist_str(char *str, int len, pos_float_t dist, gboolean is_mil); |
84 |
void pos_dist_entry_set(GtkWidget *entry, double dist, gboolean is_mil); |
void pos_dist_entry_set(GtkWidget *entry, pos_float_t dist, gboolean is_mil); |
85 |
double pos_dist_get(GtkWidget *widget, gboolean is_mil); |
pos_float_t pos_dist_get(GtkWidget *widget, gboolean is_mil); |
86 |
|
|
87 |
#endif // POS_H |
#endif // POS_H |