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

Contents of /navit/navit/layout.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 27 - (hide annotations) (download)
Mon Apr 9 21:27:36 2012 UTC (12 years ago) by zoff99
File MIME type: text/plain
File size: 4679 byte(s)
lots of new stuff, tranlsations, bug fixes ...
1 zoff99 2 /**
2 zoff99 27 * ZANavi, Zoff Android Navigation system.
3     * Copyright (C) 2011 Zoff <zoff@zoff.cc>
4     *
5     * This program is free software; you can redistribute it and/or
6     * modify it under the terms of the GNU 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 General Public License for more details.
13     *
14     * You should have received a copy of the GNU General Public License
15     * 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     /**
21 zoff99 2 * Navit, a modular navigation system.
22     * Copyright (C) 2005-2009 Navit Team
23     *
24     * This program is free software; you can redistribute it and/or
25     * modify it under the terms of the GNU Library General Public License
26     * version 2 as published by the Free Software Foundation.
27     *
28     * This program is distributed in the hope that it will be useful,
29     * but WITHOUT ANY WARRANTY; without even the implied warranty of
30     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31     * GNU Library General Public License for more details.
32     *
33     * You should have received a copy of the GNU Library General Public
34     * License along with this program; if not, write to the
35     * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
36     * Boston, MA 02110-1301, USA.
37     */
38    
39     #ifndef NAVIT_LAYOUT_H
40     #define NAVIT_LAYOUT_H
41    
42     #include "item.h"
43     #include "color.h"
44    
45 zoff99 27 struct element
46     {
47 zoff99 2 enum { element_point, element_polyline, element_polygon, element_circle, element_text, element_icon, element_image, element_arrows } type;
48     struct color color;
49     int text_size;
50     union {
51     struct element_point {
52     char stub;
53     } point;
54 zoff99 27 struct element_polyline
55     {
56 zoff99 2 int width;
57     int directed;
58     int dash_num;
59     int offset;
60 zoff99 27 //unsigned char dash_table[4];
61     short dash_table[4];
62 zoff99 2 } polyline;
63     struct element_polygon {
64     char stub;
65     } polygon;
66     struct element_circle {
67     int width;
68     int radius;
69     struct color background_color;
70     } circle;
71     struct element_icon {
72     char *src;
73     int width;
74     int height;
75     int rotation;
76     } icon;
77     struct element_text {
78     struct color background_color;
79     } text;
80     } u;
81     int coord_count;
82     struct coord *coord;
83     };
84    
85    
86     struct itemgra {
87     struct range order,sequence_range,speed_range,angle_range;
88     GList *type;
89     GList *elements;
90     };
91    
92     struct layer {
93     char *name;
94     int details;
95     GList *itemgras;
96     int active;
97     };
98    
99     struct cursor {
100     struct attr **attrs;
101     struct range *sequence_range;
102     char *name;
103     int w,h;
104     int interval;
105     };
106    
107     struct layout { char *name; char* dayname; char* nightname; char *font; struct color color; GList *layers; GList *cursors; int order_delta; int active; };
108    
109     /* prototypes */
110     enum attr_type;
111     struct arrows;
112     struct attr;
113     struct attr_iter;
114     struct circle;
115     struct cursor;
116     struct element;
117     struct icon;
118     struct image;
119     struct itemgra;
120     struct layer;
121     struct layout;
122     struct polygon;
123     struct polyline;
124     struct text;
125     struct layout *layout_new(struct attr *parent, struct attr **attrs);
126     struct attr_iter *layout_attr_iter_new(void);
127     void layout_attr_iter_destroy(struct attr_iter *iter);
128     int layout_get_attr(struct layout *layout, enum attr_type type, struct attr *attr, struct attr_iter *iter);
129     int layout_add_attr(struct layout *layout, struct attr *attr);
130     struct cursor *layout_get_cursor(struct layout *this_, char *name);
131     struct cursor *cursor_new(struct attr *parent, struct attr **attrs);
132     void cursor_destroy(struct cursor *this_);
133     int cursor_add_attr(struct cursor *this_, struct attr *attr);
134     struct layer *layer_new(struct attr *parent, struct attr **attrs);
135     int layer_get_attr(struct layer *layer, enum attr_type type, struct attr *attr, struct attr_iter *iter);
136     int layer_add_attr(struct layer *layer, struct attr *attr);
137     int layer_set_attr(struct layer *layer, struct attr *attr);
138     struct itemgra *itemgra_new(struct attr *parent, struct attr **attrs);
139     int itemgra_add_attr(struct itemgra *itemgra, struct attr *attr);
140     struct polygon *polygon_new(struct attr *parent, struct attr **attrs);
141     struct polyline *polyline_new(struct attr *parent, struct attr **attrs);
142     struct circle *circle_new(struct attr *parent, struct attr **attrs);
143     struct text *text_new(struct attr *parent, struct attr **attrs);
144     struct icon *icon_new(struct attr *parent, struct attr **attrs);
145     struct image *image_new(struct attr *parent, struct attr **attrs);
146     struct arrows *arrows_new(struct attr *parent, struct attr **attrs);
147     int element_add_attr(struct element *e, struct attr *attr);
148     /* end of prototypes */
149     #endif

   
Visit the ZANavi Wiki