aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/edje/src/bin/edje_cc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/edje/src/bin/edje_cc.h')
-rw-r--r--libraries/edje/src/bin/edje_cc.h226
1 files changed, 226 insertions, 0 deletions
diff --git a/libraries/edje/src/bin/edje_cc.h b/libraries/edje/src/bin/edje_cc.h
new file mode 100644
index 0000000..bcd31a1
--- /dev/null
+++ b/libraries/edje/src/bin/edje_cc.h
@@ -0,0 +1,226 @@
1#ifndef EDJE_CC_H
2#define EDJE_CC_H
3
4#include <edje_private.h>
5
6extern Eina_Prefix *pfx;
7
8/*
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.
12 */
13#ifndef O_BINARY
14# define O_BINARY 0
15#endif
16
17/* logging variables */
18extern int _edje_cc_log_dom ;
19#define EDJE_CC_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
20#ifdef ERR
21# undef ERR
22#endif
23#define ERR(...) EINA_LOG_DOM_ERR(_edje_cc_log_dom, __VA_ARGS__)
24#ifdef INF
25# undef INF
26#endif
27#define INF(...) EINA_LOG_DOM_INFO(_edje_cc_log_dom, __VA_ARGS__)
28#ifdef WRN
29# undef WRN
30#endif
31#define WRN(...) EINA_LOG_DOM_WARN(_edje_cc_log_dom, __VA_ARGS__)
32
33
34/* types */
35typedef struct _New_Object_Handler New_Object_Handler;
36typedef struct _New_Statement_Handler New_Statement_Handler;
37typedef struct _External_List External_List;
38typedef struct _External External;
39typedef struct _Font_List Font_List;
40typedef struct _Font Font;
41typedef struct _Code Code;
42typedef struct _Code_Program Code_Program;
43typedef struct _SrcFile SrcFile;
44typedef struct _SrcFile_List SrcFile_List;
45
46typedef struct _Edje_Program_Parser Edje_Program_Parser;
47typedef struct _Edje_Pack_Element_Parser Edje_Pack_Element_Parser;
48typedef struct _Edje_Part_Parser Edje_Part_Parser;
49
50struct _New_Object_Handler
51{
52 const char *type;
53 void (*func)(void);
54};
55
56struct _New_Statement_Handler
57{
58 const char *type;
59 void (*func)(void);
60};
61
62struct _External_List
63{
64 Eina_List *list;
65};
66
67struct _External
68{
69 char *name;
70};
71
72struct _Font_List
73{
74 Eina_List *list;
75};
76
77struct _Font
78{
79 char *name;
80 char *file;
81};
82
83struct _Code
84{
85 int l1, l2;
86 char *shared;
87 char *original;
88 Eina_List *programs;
89 int is_lua;
90};
91
92struct _Code_Program
93{
94 int l1, l2;
95 int id;
96 char *script;
97 char *original;
98};
99
100struct _SrcFile
101{
102 char *name;
103 char *file;
104};
105
106struct _SrcFile_List
107{
108 Eina_List *list;
109};
110
111struct _Edje_Program_Parser
112{
113 Edje_Program common;
114 Eina_Bool can_override;
115};
116
117struct _Edje_Pack_Element_Parser
118{
119 Edje_Pack_Element common;
120 Eina_Bool can_override;
121};
122
123struct _Edje_Part_Parser
124{
125 Edje_Part common;
126 struct {
127 Eina_Bool done;
128 const char *insert_before; /* the part name for insertion in front of */
129 const char *insert_after; /* the part name for insertion behind of */
130 Edje_Part_Parser *before;
131 Edje_Part_Parser *after;
132 int linked_prev; /* the number linked previous part for reorder */
133 int linked_next; /* the number linked next part for reorder */
134 } reorder;
135 Eina_Bool can_override;
136};
137
138/* global fn calls */
139void data_setup(void);
140void data_write(void);
141void data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
142void data_queue_copied_part_lookup(Edje_Part_Collection *pc, int *src, int *dest);
143void data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
144void data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest);
145void data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest);
146void data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest);
147void data_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
148void data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set);
149void data_queue_part_slave_lookup(int *master, int *slave);
150void data_queue_image_slave_lookup(int *master, int *slave);
151void data_queue_spectrum_lookup(char *name, int *dest);
152void data_queue_spectrum_slave_lookup(int *master, int *slave);
153void data_process_lookups(void);
154void data_process_scripts(void);
155void data_process_script_lookups(void);
156
157
158int is_verbatim(void);
159void track_verbatim(int on);
160void set_verbatim(char *s, int l1, int l2);
161char *get_verbatim(void);
162int get_verbatim_line1(void);
163int get_verbatim_line2(void);
164void compile(void);
165int is_param(int n);
166int is_num(int n);
167char *parse_str(int n);
168int parse_enum(int n, ...);
169int parse_flags(int n, ...);
170int parse_int(int n);
171int parse_int_range(int n, int f, int t);
172int parse_bool(int n);
173double parse_float(int n);
174double parse_float_range(int n, double f, double t);
175int get_arg_count(void);
176void check_arg_count(int n);
177void check_min_arg_count(int n);
178
179int object_handler_num(void);
180int statement_handler_num(void);
181
182void reorder_parts(void);
183void source_edd(void);
184void source_fetch(void);
185int source_append(Eet_File *ef);
186SrcFile_List *source_load(Eet_File *ef);
187int source_fontmap_save(Eet_File *ef, Eina_List *fonts);
188Font_List *source_fontmap_load(Eet_File *ef);
189
190void *mem_alloc(size_t size);
191char *mem_strdup(const char *s);
192#define SZ sizeof
193
194void error_and_abort(Eet_File *ef, const char *fmt, ...);
195
196/* global vars */
197extern Eina_List *ext_dirs;
198extern Eina_List *img_dirs;
199extern Eina_List *fnt_dirs;
200extern Eina_List *snd_dirs;
201extern char *file_in;
202extern char *tmp_dir;
203extern char *file_out;
204extern char *progname;
205extern int verbose;
206extern int no_lossy;
207extern int no_comp;
208extern int no_raw;
209extern int no_save;
210extern int min_quality;
211extern int max_quality;
212extern int line;
213extern Eina_List *stack;
214extern Eina_List *params;
215extern Edje_File *edje_file;
216extern Eina_List *edje_collections;
217extern Eina_List *externals;
218extern Eina_List *fonts;
219extern Eina_List *codes;
220extern Eina_List *defines;
221extern Eina_List *aliases;
222extern New_Object_Handler object_handlers[];
223extern New_Statement_Handler statement_handlers[];
224
225
226#endif