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

Contents of /navit/navit/layout.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: 3897 byte(s)
import files
1 zoff99 2 /**
2     * Navit, a modular navigation system.
3     * Copyright (C) 2005-2009 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_LAYOUT_H
21     #define NAVIT_LAYOUT_H
22    
23     #include "item.h"
24     #include "color.h"
25    
26     struct element {
27     enum { element_point, element_polyline, element_polygon, element_circle, element_text, element_icon, element_image, element_arrows } type;
28     struct color color;
29     int text_size;
30     union {
31     struct element_point {
32     char stub;
33     } point;
34     struct element_polyline {
35     int width;
36     int directed;
37     int dash_num;
38     int offset;
39     unsigned char dash_table[4];
40     } polyline;
41     struct element_polygon {
42     char stub;
43     } polygon;
44     struct element_circle {
45     int width;
46     int radius;
47     struct color background_color;
48     } circle;
49     struct element_icon {
50     char *src;
51     int width;
52     int height;
53     int rotation;
54     } icon;
55     struct element_text {
56     struct color background_color;
57     } text;
58     } u;
59     int coord_count;
60     struct coord *coord;
61     };
62    
63    
64     struct itemgra {
65     struct range order,sequence_range,speed_range,angle_range;
66     GList *type;
67     GList *elements;
68     };
69    
70     struct layer {
71     char *name;
72     int details;
73     GList *itemgras;
74     int active;
75     };
76    
77     struct cursor {
78     struct attr **attrs;
79     struct range *sequence_range;
80     char *name;
81     int w,h;
82     int interval;
83     };
84    
85     struct layout { char *name; char* dayname; char* nightname; char *font; struct color color; GList *layers; GList *cursors; int order_delta; int active; };
86    
87     /* prototypes */
88     enum attr_type;
89     struct arrows;
90     struct attr;
91     struct attr_iter;
92     struct circle;
93     struct cursor;
94     struct element;
95     struct icon;
96     struct image;
97     struct itemgra;
98     struct layer;
99     struct layout;
100     struct polygon;
101     struct polyline;
102     struct text;
103     struct layout *layout_new(struct attr *parent, struct attr **attrs);
104     struct attr_iter *layout_attr_iter_new(void);
105     void layout_attr_iter_destroy(struct attr_iter *iter);
106     int layout_get_attr(struct layout *layout, enum attr_type type, struct attr *attr, struct attr_iter *iter);
107     int layout_add_attr(struct layout *layout, struct attr *attr);
108     struct cursor *layout_get_cursor(struct layout *this_, char *name);
109     struct cursor *cursor_new(struct attr *parent, struct attr **attrs);
110     void cursor_destroy(struct cursor *this_);
111     int cursor_add_attr(struct cursor *this_, struct attr *attr);
112     struct layer *layer_new(struct attr *parent, struct attr **attrs);
113     int layer_get_attr(struct layer *layer, enum attr_type type, struct attr *attr, struct attr_iter *iter);
114     int layer_add_attr(struct layer *layer, struct attr *attr);
115     int layer_set_attr(struct layer *layer, struct attr *attr);
116     struct itemgra *itemgra_new(struct attr *parent, struct attr **attrs);
117     int itemgra_add_attr(struct itemgra *itemgra, struct attr *attr);
118     struct polygon *polygon_new(struct attr *parent, struct attr **attrs);
119     struct polyline *polyline_new(struct attr *parent, struct attr **attrs);
120     struct circle *circle_new(struct attr *parent, struct attr **attrs);
121     struct text *text_new(struct attr *parent, struct attr **attrs);
122     struct icon *icon_new(struct attr *parent, struct attr **attrs);
123     struct image *image_new(struct attr *parent, struct attr **attrs);
124     struct arrows *arrows_new(struct attr *parent, struct attr **attrs);
125     int element_add_attr(struct element *e, struct attr *attr);
126     /* end of prototypes */
127     #endif

   
Visit the ZANavi Wiki