navit  0.5.3-trunk
layout.h
Go to the documentation of this file.
1 
20 #ifndef NAVIT_LAYOUT_H
21 #define NAVIT_LAYOUT_H
22 
23 #include "item.h"
24 #include "color.h"
25 #include "coord.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 struct poly_hole {
33  struct coord coord[1];
34 };
35 
36 struct element {
38  struct color color;
39  int text_size;
40  int oneway;
41  union {
42  struct element_point {
43  char stub;
44  } point;
45  struct element_polyline {
46  int width;
47  int directed;
48  int dash_num;
49  int offset;
50  unsigned char dash_table[4];
52  struct element_polygon {
53  /* for texture */
54  char *src;
55  int width;
56  int height;
57  int rotation;
58  int x;
59  int y;
61  struct element_circle {
62  int width;
63  int radius;
64  struct color background_color;
65  } circle;
66  struct element_icon {
67  char *src;
68  int width;
69  int height;
70  int rotation;
71  int x;
72  int y;
73  } icon;
74  struct element_text {
75  struct color background_color;
76  } text;
77  struct element_arrows {
78  int width;
79  } arrows;
80  struct element_spikes {
81  int width;
82  int distance;
83  } spikes;
84  } u;
86  struct coord *coord;
87 };
88 
89 
90 struct itemgra {
91  struct range order,sequence_range,speed_range,angle_range;
94 };
95 
96 struct layer {
98  struct navit *navit;
99  char *name;
100  int details;
102  int active;
103  struct layer *ref;
104 };
105 
106 struct cursor {
107  struct attr **attrs;
109  char *name;
110  int w,h;
111  int interval;
112 };
113 
114 struct layout {
116  struct navit *navit;
117  char *name;
118  char* dayname;
119  char* nightname;
120  char *font;
121  struct color color;
123  int icon_w;
124  int icon_h;
128  int active;
129 };
130 
131 /* prototypes */
132 enum attr_type;
133 struct arrows;
134 struct attr;
135 struct attr_iter;
136 struct circle;
137 struct cursor;
138 struct element;
139 struct icon;
140 struct image;
141 struct itemgra;
142 struct layer;
143 struct layout;
144 struct polygon;
145 struct polyline;
146 struct text;
147 struct layout *layout_new(struct attr *parent, struct attr **attrs);
148 struct attr_iter *layout_attr_iter_new(void* unused);
150 int layout_get_attr(struct layout *layout, enum attr_type type, struct attr *attr, struct attr_iter *iter);
151 int layout_add_attr(struct layout *layout, struct attr *attr);
152 struct cursor *layout_get_cursor(struct layout *this_, char *name);
153 struct cursor *cursor_new(struct attr *parent, struct attr **attrs);
154 void cursor_destroy(struct cursor *this_);
155 int cursor_add_attr(struct cursor *this_, struct attr *attr);
156 struct layer *layer_new(struct attr *parent, struct attr **attrs);
157 int layer_get_attr(struct layer *layer, enum attr_type type, struct attr *attr, struct attr_iter *iter);
158 int layer_add_attr(struct layer *layer, struct attr *attr);
159 int layer_set_attr(struct layer *layer, struct attr *attr);
160 struct itemgra *itemgra_new(struct attr *parent, struct attr **attrs);
161 int itemgra_add_attr(struct itemgra *itemgra, struct attr *attr);
162 struct polygon *polygon_new(struct attr *parent, struct attr **attrs);
163 struct polyline *polyline_new(struct attr *parent, struct attr **attrs);
164 struct circle *circle_new(struct attr *parent, struct attr **attrs);
165 struct text *text_new(struct attr *parent, struct attr **attrs);
166 struct icon *icon_new(struct attr *parent, struct attr **attrs);
167 struct image *image_new(struct attr *parent, struct attr **attrs);
168 struct arrows *arrows_new(struct attr *parent, struct attr **attrs);
169 struct spikes *spikes_new(struct attr *parent, struct attr **attrs);
170 int element_add_attr(struct element *e, struct attr *attr);
171 /* end of prototypes */
172 
173 #ifdef __cplusplus
174 }
175 #endif
176 
177 #endif
attr_type
Definition: attr.h:34
char type[3]
Definition: garmin_img.c:2
void layout_attr_iter_destroy(struct attr_iter *iter)
Definition: layout.c:105
int layout_get_attr(struct layout *layout, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition: layout.c:109
struct image * image_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:656
struct polygon * polygon_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:522
int itemgra_add_attr(struct itemgra *itemgra, struct attr *attr)
Definition: layout.c:393
struct circle * circle_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:585
struct arrows * arrows_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:666
int layout_add_attr(struct layout *layout, struct attr *attr)
Definition: layout.c:156
struct spikes * spikes_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:677
struct layout * layout_new(struct attr *parent, struct attr **attrs)
Create a new layout object and attach it to a navit parent.
Definition: layout.c:38
int layer_set_attr(struct layer *layer, struct attr *attr)
Definition: layout.c:344
int cursor_add_attr(struct cursor *this_, struct attr *attr)
Definition: layout.c:240
int layer_get_attr(struct layer *layer, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition: layout.c:313
struct layer * layer_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:293
struct cursor * layout_get_cursor(struct layout *this_, char *name)
Definition: layout.c:180
void cursor_destroy(struct cursor *this_)
Definition: layout.c:231
int layer_add_attr(struct layer *layer, struct attr *attr)
Definition: layout.c:334
struct cursor * cursor_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:198
struct attr_iter * layout_attr_iter_new(void *unused)
Definition: layout.c:101
int element_add_attr(struct element *e, struct attr *attr)
Definition: layout.c:687
struct polyline * polyline_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:570
struct text * text_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:605
struct icon * icon_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:623
struct itemgra * itemgra_new(struct attr *parent, struct attr **attrs)
Definition: layout.c:354
struct _GList GList
Definition: navit.h:30
char name[0]
Definition: street.c:3
Definition: config_.c:47
void * iter
Definition: config_.c:48
Definition: attr.h:157
Definition: graphics.c:1780
Definition: color.h:23
Definition: coord.h:34
Definition: layout.h:106
int interval
Definition: layout.h:111
int h
Definition: layout.h:110
char * name
Definition: layout.h:109
struct attr ** attrs
Definition: layout.h:107
int w
Definition: layout.h:110
struct range * sequence_range
Definition: layout.h:108
Definition: layout.h:36
int width
Definition: layout.h:46
int distance
Definition: layout.h:82
struct element::@3::element_polygon polygon
int x
Definition: layout.h:58
enum element::@2 type
union element::@3 u
struct element::@3::element_text text
struct color background_color
Definition: layout.h:64
int y
Definition: layout.h:59
int dash_num
Definition: layout.h:48
int radius
Definition: layout.h:63
int offset
Definition: layout.h:49
struct element::@3::element_point point
char * src
Definition: layout.h:54
unsigned char dash_table[4]
Definition: layout.h:50
struct element::@3::element_circle circle
int text_size
Definition: layout.h:39
struct element::@3::element_spikes spikes
struct element::@3::element_arrows arrows
int oneway
Definition: layout.h:40
struct element::@3::element_polyline polyline
struct element::@3::element_icon icon
int coord_count
Definition: layout.h:85
char stub
Definition: layout.h:43
int directed
Definition: layout.h:47
struct coord * coord
Definition: layout.h:86
int rotation
Definition: layout.h:57
int height
Definition: layout.h:56
@ element_polyline
Definition: layout.h:37
@ element_arrows
Definition: layout.h:37
@ element_icon
Definition: layout.h:37
@ element_polygon
Definition: layout.h:37
@ element_point
Definition: layout.h:37
@ element_spikes
Definition: layout.h:37
@ element_text
Definition: layout.h:37
@ element_circle
Definition: layout.h:37
@ element_image
Definition: layout.h:37
Definition: layout.h:90
struct range order sequence_range speed_range angle_range
Definition: layout.h:91
GList * type
Definition: layout.h:92
GList * elements
Definition: layout.h:93
Definition: layout.h:96
struct layer * ref
Definition: layout.h:103
int active
Definition: layout.h:102
int details
Definition: layout.h:100
NAVIT_OBJECT struct navit * navit
Definition: layout.h:98
char * name
Definition: layout.h:99
GList * itemgras
Definition: layout.h:101
Definition: layout.h:114
GList * cursors
Definition: layout.h:126
int underground_alpha
Definition: layout.h:122
char * font
Definition: layout.h:120
int active
Definition: layout.h:128
int order_delta
Definition: layout.h:127
int icon_h
Definition: layout.h:124
GList * layers
Definition: layout.h:125
int icon_w
Definition: layout.h:123
char * nightname
Definition: layout.h:119
char * name
Definition: layout.h:117
NAVIT_OBJECT struct navit * navit
Definition: layout.h:116
char * dayname
Definition: layout.h:118
Definition: navit.c:112
Definition: gpx2navit_txt.h:51
Definition: layout.h:31
int coord_count
Definition: layout.h:32
Definition: attr.h:153
#define NAVIT_OBJECT
Definition: xmlconfig.h:121