diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2007-12-20 20:39:48 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2007-12-20 20:39:48 +0000 |
commit | 361120cf1717d302e98c998c4ad10d67245641e9 (patch) | |
tree | 992b61d21b470360f95640950295ec073e39280b /transform.h | |
parent | e7d4a561418fa6d49ddeee2175bfe5e347699e36 (diff) | |
download | navit-svn-361120cf1717d302e98c998c4ad10d67245641e9.tar.gz |
Made viewport more flexible
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit/src@656 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'transform.h')
-rw-r--r-- | transform.h | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/transform.h b/transform.h index d2a40047..b49485e7 100644 --- a/transform.h +++ b/transform.h @@ -7,28 +7,21 @@ extern "C" { /* prototypes */ enum projection; struct coord; -struct pcoord; struct coord_geo; -struct coord_rect; +struct map_selection; struct point; struct transformation; struct transformation *transform_new(void); void transform_to_geo(enum projection pro, struct coord *c, struct coord_geo *g); void transform_from_geo(enum projection pro, struct coord_geo *g, struct coord *c); -int transform(struct transformation *t, enum projection pro, struct coord *c, struct point *p); -int transform_array(struct transformation *t, enum projection pro, struct coord *c, struct point *p, int count, int uniq); +int transform(struct transformation *t, enum projection pro, struct coord *c, struct point *p, int count, int flags); void transform_reverse(struct transformation *t, struct point *p, struct coord *c); enum projection transform_get_projection(struct transformation *this_); void transform_set_projection(struct transformation *this_, enum projection pro); -void transform_rect(struct transformation *this_, enum projection pro, struct coord_rect *r); struct coord *transform_center(struct transformation *this_); -int transform_contains(struct transformation *this_, enum projection pro, struct coord_rect *r); void transform_set_angle(struct transformation *t, int angle); int transform_get_angle(struct transformation *this_, int angle); -void transform_set_size(struct transformation *t, int width, int height); -void transform_get_size(struct transformation *t, int *width, int *height); -void transform_setup(struct transformation *t, struct pcoord *c, int scale, int angle); -void transform_setup_source_rect_limit(struct transformation *t, struct coord *center, int limit); +void transform_set_screen_selection(struct transformation *t, struct map_selection *sel); void transform_setup_source_rect(struct transformation *t); long transform_get_scale(struct transformation *t); void transform_set_scale(struct transformation *t, long scale); @@ -40,9 +33,9 @@ int transform_distance_sq(struct coord *c1, struct coord *c2); int transform_distance_line_sq(struct coord *l0, struct coord *l1, struct coord *ref, struct coord *lpnt); int transform_distance_polyline_sq(struct coord *c, int count, struct coord *ref, struct coord *lpnt, int *pos); void transform_print_deg(double deg); -int is_visible(struct transformation *t, struct coord *c); -int is_line_visible(struct transformation *t, struct coord *c); -int is_point_visible(struct transformation *t, struct coord *c); +int transform_contains_polygon(struct transformation *t, struct coord *c, int count); +int transform_contains_polyline(struct transformation *t, struct coord *c, int count); +int transform_contains_point(struct transformation *t, struct coord *c); int is_too_small(struct transformation *t, struct coord *c, int limit); int transform_get_angle_delta(struct coord *c1, struct coord *c2, int dir); int transform_within_border(struct transformation *this_, struct point *p, int border); |