4 #include <edje_private.h>
6 extern Eina_Prefix *pfx;
9 * On Windows, if the file is not opened in binary mode,
10 * read does not return the correct size, because of
11 * CR / LF translation.
17 /* logging variables */
18 extern int _edje_cc_log_dom ;
19 #define EDJE_CC_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
24 #define ERR(...) EINA_LOG_DOM_ERR(_edje_cc_log_dom, __VA_ARGS__)
28 #define INF(...) EINA_LOG_DOM_INFO(_edje_cc_log_dom, __VA_ARGS__)
32 #define WRN(...) EINA_LOG_DOM_WARN(_edje_cc_log_dom, __VA_ARGS__)
36 #define CRIT(...) EINA_LOG_DOM_CRIT(_edje_cc_log_dom, __VA_ARGS__)
40 #define DBG(...) EINA_LOG_DOM_DBG(_edje_cc_log_dom, __VA_ARGS__)
43 typedef struct _New_Object_Handler New_Object_Handler;
44 typedef struct _New_Statement_Handler New_Statement_Handler;
45 typedef struct _External_List External_List;
46 typedef struct _External External;
47 typedef struct _Font_List Font_List;
48 typedef struct _Font Font;
49 typedef struct _Code Code;
50 typedef struct _Code_Program Code_Program;
51 typedef struct _SrcFile SrcFile;
52 typedef struct _SrcFile_List SrcFile_List;
54 typedef struct _Edje_Program_Parser Edje_Program_Parser;
55 typedef struct _Edje_Pack_Element_Parser Edje_Pack_Element_Parser;
56 typedef struct _Edje_Part_Parser Edje_Part_Parser;
58 struct _New_Object_Handler
64 struct _New_Statement_Handler
119 struct _Edje_Program_Parser
122 Eina_Bool can_override;
125 struct _Edje_Pack_Element_Parser
127 Edje_Pack_Element common;
128 Eina_Bool can_override;
131 struct _Edje_Part_Parser
136 const char *insert_before; /* the part name for insertion in front of */
137 const char *insert_after; /* the part name for insertion behind of */
138 Edje_Part_Parser *before;
139 Edje_Part_Parser *after;
140 int linked_prev; /* the number linked previous part for reorder */
141 int linked_next; /* the number linked next part for reorder */
143 Eina_Bool can_override;
146 /* global fn calls */
147 void data_setup(void);
148 void data_write(void);
149 void data_queue_group_lookup(const char *name, Edje_Part *part);
150 void data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
151 void data_queue_copied_part_lookup(Edje_Part_Collection *pc, int *src, int *dest);
152 void data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
153 void data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest);
154 void data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest);
155 void data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest);
156 void data_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
157 void data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set);
158 void data_queue_image_remove(int *dest, Eina_Bool *set);
159 void data_queue_part_slave_lookup(int *master, int *slave);
160 void data_queue_image_slave_lookup(int *master, int *slave);
161 void data_queue_spectrum_lookup(char *name, int *dest);
162 void data_queue_spectrum_slave_lookup(int *master, int *slave);
163 void data_process_lookups(void);
164 void data_process_scripts(void);
165 void data_process_script_lookups(void);
167 void part_description_image_cleanup(Edje_Part *ep);
169 int is_verbatim(void);
170 void track_verbatim(int on);
171 void set_verbatim(char *s, int l1, int l2);
172 char *get_verbatim(void);
173 int get_verbatim_line1(void);
174 int get_verbatim_line2(void);
178 char *parse_str(int n);
179 int parse_enum(int n, ...);
180 int parse_flags(int n, ...);
181 int parse_int(int n);
182 int parse_int_range(int n, int f, int t);
183 int parse_bool(int n);
184 double parse_float(int n);
185 double parse_float_range(int n, double f, double t);
186 int get_arg_count(void);
187 void check_arg_count(int n);
188 void check_min_arg_count(int n);
190 int object_handler_num(void);
191 int statement_handler_num(void);
193 void reorder_parts(void);
194 void source_edd(void);
195 void source_fetch(void);
196 int source_append(Eet_File *ef);
197 SrcFile_List *source_load(Eet_File *ef);
198 int source_fontmap_save(Eet_File *ef, Eina_List *fonts);
199 Font_List *source_fontmap_load(Eet_File *ef);
201 void *mem_alloc(size_t size);
202 char *mem_strdup(const char *s);
205 void using_file(const char *filename);
207 void error_and_abort(Eet_File *ef, const char *fmt, ...);
210 extern Eina_List *ext_dirs;
211 extern Eina_List *img_dirs;
212 extern Eina_List *fnt_dirs;
213 extern Eina_List *snd_dirs;
214 extern char *file_in;
215 extern char *tmp_dir;
216 extern char *file_out;
217 extern char *watchfile;
222 extern int min_quality;
223 extern int max_quality;
225 extern Eina_List *stack;
226 extern Eina_List *params;
227 extern Edje_File *edje_file;
228 extern Eina_List *edje_collections;
229 extern Eina_List *externals;
230 extern Eina_List *fonts;
231 extern Eina_List *codes;
232 extern Eina_List *defines;
233 extern Eina_List *aliases;
234 extern New_Object_Handler object_handlers[];
235 extern New_Statement_Handler statement_handlers[];
236 extern int compress_mode;