/[zanavi_public1]/navit/navit/navit.h
ZANavi

Contents of /navit/navit/navit.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (hide annotations) (download)
Fri Oct 28 21:19:04 2011 UTC (12 years, 5 months ago) by zoff99
File MIME type: text/plain
File size: 7872 byte(s)
import files
1 zoff99 2 /**
2     * Navit, a modular navigation system.
3     * Copyright (C) 2005-2008 Navit Team
4     *
5     * This program is free software; you can redistribute it and/or
6     * modify it under the terms of the GNU Library General Public License
7     * version 2 as published by the Free Software Foundation.
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 Library General Public License for more details.
13     *
14     * You should have received a copy of the GNU Library General Public
15     * License along with this program; if not, write to the
16     * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     * Boston, MA 02110-1301, USA.
18     */
19    
20     #ifndef NAVIT_NAVIT_H
21     #define NAVIT_NAVIT_H
22    
23     #ifdef __cplusplus
24     extern "C" {
25     #endif
26     extern struct gui *main_loop_gui;
27     // defined in glib.h.
28     #ifndef __G_LIST_H__
29     struct _GList;
30     typedef struct _GList GList;
31     #endif
32    
33     extern int allow_gui_internal;
34     extern int draw_display_at_speed;
35     extern int routing_mode; // 0-> normal highway rounting
36     // 1-> normal roads routing
37     // 2-> future use
38    
39     /* prototypes */
40     enum attr_type;
41     struct attr;
42     struct attr_iter;
43     struct callback;
44     struct coord_rect;
45     struct displaylist;
46     struct graphics;
47     struct gui;
48     struct mapset;
49     struct message;
50     struct navigation;
51     struct navit;
52     struct pcoord;
53     struct point;
54     struct route;
55     struct tracking;
56     struct transformation;
57     struct vehicleprofile;
58     struct command_table;
59     void navit_add_mapset(struct navit *this_, struct mapset *ms);
60     struct mapset *navit_get_mapset(struct navit *this_);
61     struct tracking *navit_get_tracking(struct navit *this_);
62     char *navit_get_user_data_directory(int create);
63     void navit_draw_async(struct navit *this_, int async);
64     void navit_draw(struct navit *this_);
65     int navit_get_ready(struct navit *this_);
66     void navit_draw_displaylist(struct navit *this_);
67     void navit_handle_resize(struct navit *this_, int w, int h);
68     int navit_get_width(struct navit *this_);
69     int navit_get_height(struct navit *this_);
70     int navit_ignore_button(struct navit *this_);
71     void navit_ignore_graphics_events(struct navit *this_, int ignore);
72     void navit_set_timeout(struct navit *this_);
73     int navit_handle_button(struct navit *this_, int pressed, int button, struct point *p, struct callback *popup_callback);
74     void navit_handle_motion(struct navit *this_, struct point *p);
75     void navit_zoom_in(struct navit *this_, int factor, struct point *p);
76     void navit_zoom_out(struct navit *this_, int factor, struct point *p);
77     void navit_zoom_in_cursor(struct navit *this_, int factor);
78     void navit_zoom_out_cursor(struct navit *this_, int factor);
79     struct navit *navit_new(struct attr *parent, struct attr **attrs);
80     void navit_add_message(struct navit *this_, char *message);
81     struct message *navit_get_messages(struct navit *this_);
82     struct graphics *navit_get_graphics(struct navit *this_);
83     struct vehicleprofile *navit_get_vehicleprofile(struct navit *this_);
84     GList *navit_get_vehicleprofiles(struct navit *this_);
85     void navit_set_destination(struct navit *this_, struct pcoord *c, const char *description, int async);
86     void navit_set_destinations(struct navit *this_, struct pcoord *c, int count, const char *description, int async);
87     int navit_check_route(struct navit *this_);
88     void navit_textfile_debug_log(struct navit *this_, const char *fmt, ...);
89     void navit_textfile_debug_log_at(struct navit *this_, struct pcoord *pc, const char *fmt, ...);
90     int navit_speech_estimate(struct navit *this_, char *str);
91     void navit_say(struct navit *this_, char *text);
92     void navit_speak(struct navit *this_);
93     void navit_window_roadbook_destroy(struct navit *this_);
94     void navit_window_roadbook_new(struct navit *this_);
95     void navit_reload_maps(struct navit *this_);
96     void navit_init(struct navit *this_);
97     void navit_zoom_to_rect(struct navit *this_, struct coord_rect *r);
98     void navit_zoom_to_route(struct navit *this_, int orientation);
99     void navit_set_center(struct navit *this_, struct pcoord *center, int set_timeout);
100     void navit_set_center_cursor(struct navit *this_, int autozoom, int keep_orientation);
101     void navit_set_center_screen(struct navit *this_, struct point *p, int set_timeout);
102     int navit_set_attr(struct navit *this_, struct attr *attr);
103     int navit_get_attr(struct navit *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter);
104     int navit_add_attr(struct navit *this_, struct attr *attr);
105     int navit_remove_attr(struct navit *this_, struct attr *attr);
106     struct attr_iter *navit_attr_iter_new(void);
107     void navit_attr_iter_destroy(struct attr_iter *iter);
108     void navit_add_callback(struct navit *this_, struct callback *cb);
109     void navit_remove_callback(struct navit *this_, struct callback *cb);
110     void navit_set_position(struct navit *this_, struct pcoord *c);
111     struct gui *navit_get_gui(struct navit *this_);
112     struct transformation *navit_get_trans(struct navit *this_);
113     struct route *navit_get_route(struct navit *this_);
114     struct navigation *navit_get_navigation(struct navit *this_);
115     struct displaylist *navit_get_displaylist(struct navit *this_);
116     void navit_layout_switch(struct navit *n);
117     int navit_set_vehicle_by_name(struct navit *n, const char *name);
118     int navit_set_layout_by_name(struct navit *n, const char *name);
119     void navit_disable_suspend(void);
120     int navit_block(struct navit *this_, int block);
121     void navit_destroy(struct navit *this_);
122     void navit_command_add_table(struct navit*this_, struct command_table *commands, int count);
123     //
124     // extern static int navit_get_cursor_pnt(struct navit *this_, struct point *p, int keep_orientation, int *dir);
125     int navit_get_cur_pnt(struct navit *this_, struct point *p);
126    
127    
128    
129    
130    
131     #include "coord.h"
132     #include "point.h"
133     #include "item.h"
134     #include "attr.h"
135    
136     struct coord global_vehicle_pos_onscreen;
137    
138     //! The navit_vehicule
139     struct navit_vehicle {
140     int follow;
141     /*! Limit of the follow counter. See navit_add_vehicle */
142     int follow_curr;
143     /*! Deprecated : follow counter itself. When it reaches 'update' counts, map is recentered*/
144     struct coord coord;
145     int dir;
146     int speed;
147     struct coord last; /*< Position of the last update of this vehicle */
148     struct vehicle *vehicle;
149     struct attr callback;
150     int animate_cursor;
151     };
152    
153     struct navit {
154     struct attr self;
155     GList *mapsets;
156     GList *layouts;
157     struct gui *gui;
158     struct layout *layout_current;
159     struct graphics *gra;
160     struct action *action;
161     struct transformation *trans, *trans_cursor;
162     struct compass *compass;
163     struct route *route;
164     struct navigation *navigation;
165     struct speech *speech;
166     struct tracking *tracking;
167     int ready;
168     struct window *win;
169     struct displaylist *displaylist;
170     int tracking_flag;
171     int orientation;
172     int recentdest_count;
173     int osd_configuration;
174     GList *vehicles;
175     GList *windows_items;
176     struct navit_vehicle *vehicle;
177     struct callback_list *attr_cbl;
178     struct callback *nav_speech_cb, *roadbook_callback, *popup_callback, *route_cb, *progress_cb;
179     struct datawindow *roadbook_window;
180     struct map *former_destination;
181     struct point pressed, last, current;
182     int button_pressed,moved,popped,zoomed;
183     int center_timeout;
184     int autozoom_secs;
185     int autozoom_min;
186     int autozoom_active;
187     struct event_timeout *button_timeout, *motion_timeout;
188     struct callback *motion_timeout_callback;
189     int ignore_button;
190     int ignore_graphics_events;
191     struct log *textfile_debug_log;
192     struct pcoord destination;
193     int destination_valid;
194     int blocked;
195     int w,h;
196     int drag_bitmap;
197     int use_mousewheel;
198     struct messagelist *messages;
199     struct callback *resize_callback,*button_callback,*motion_callback,*predraw_callback;
200     struct vehicleprofile *vehicleprofile;
201     GList *vehicleprofiles;
202     int pitch;
203     int follow_cursor;
204     int prevTs;
205     int graphics_flags;
206     int zoom_min, zoom_max;
207     int radius;
208     struct bookmarks *bookmarks;
209     int flags;
210     /* 1=No graphics ok */
211     /* 2=No gui ok */
212     int border;
213     int imperial;
214     };
215    
216    
217    
218     /* end of prototypes */
219     #ifdef __cplusplus
220     }
221     #endif
222    
223     #endif
224    

   
Visit the ZANavi Wiki