Mercurial > MadButterfly
annotate tools/mb_c_header.m4 @ 192:54fdc2a65242
Remove factory from observer APIs.
- Save factory that used to new a subject as subject's attribute.
- Get factory from subject himself instead of passing as an argument.
- It make API of observer more simple and clean.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Tue, 18 Nov 2008 21:42:30 +0800 |
parents | 6ce68c1f7405 |
children | 3fadd2f2742e |
rev | line source |
---|---|
62
7d976d925431
Generate C header files for SVG files.
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
1 changequote(`[', `]')dnl |
63 | 2 divert([-1]) |
3 | |
4 define([ADD_LINEAR_PAINT],[[ | |
5 paint_t *$1; | |
6 ]]) | |
7 | |
8 define([ADD_RADIAL_PAINT],[[ | |
9 paint_t *$1; | |
10 ]]) | |
11 define([ADD_PATH],[ | |
12 [ shape_t *$1; | |
13 ]]) | |
14 define([ADD_RECT],[ | |
15 [ shape_t *$1; | |
16 ]]) | |
17 define([ADD_COORD],[ | |
18 [ coord_t *$1; | |
19 ]]) | |
83 | 20 define([ADD_TEXT],[ |
21 [ shape_t *$1; | |
22 ]]) | |
63 | 23 define([COLOR_STOP],[ ]) |
24 | |
78 | 25 define([REF_STOPS_RADIAL],) |
26 define([REF_STOPS_LINEAR],) | |
64 | 27 define([FILL_SHAPE],[[ |
28 paint_t *$1_fill; | |
29 ]]) | |
30 define([STROKE_SHAPE],[[ | |
31 paint_t *$1_stroke; | |
32 ]]) | |
63 | 33 define([FILL_SHAPE_WITH_PAINT],) |
34 define([STROKE_SHAPE_WITH_PAINT],) | |
80
e548221c04eb
svg2code.py support stroke
Thinker K.F. Li <thinker@branda.to>
parents:
78
diff
changeset
|
35 define([STROKE_WIDTH],) |
81 | 36 define([GROUP_HIDE],) |
37 define([PATH_HIDE],) | |
38 define([RECT_HIDE],) | |
84
42698de1f653
Support translate() function for transform attribute of 'g' tag.
Thinker K.F. Li <thinker@branda.to>
parents:
83
diff
changeset
|
39 define([COORD_TRANSLATE],) |
85
9b4a02bcaeb1
matrix() function in transform attribute of group and shapes
Thinker K.F. Li <thinker@branda.to>
parents:
84
diff
changeset
|
40 define([COORD_MATRIX],) |
100
1a1dda98730c
Fix the bug of order of cross & inner product of vectors
Thinker K.F. Li <thinker@branda.to>
parents:
85
diff
changeset
|
41 define([SHAPE_TRANSLATE],) |
85
9b4a02bcaeb1
matrix() function in transform attribute of group and shapes
Thinker K.F. Li <thinker@branda.to>
parents:
84
diff
changeset
|
42 define([SHAPE_MATRIX],) |
63 | 43 |
62
7d976d925431
Generate C header files for SVG files.
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
44 define([MADBUTTERFLY],[dnl |
7d976d925431
Generate C header files for SVG files.
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
45 [#ifndef __$1_H_ |
67
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
46 #define __$1_H_ |
62
7d976d925431
Generate C header files for SVG files.
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
47 |
67
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
48 typedef struct $1 $1_t; |
62
7d976d925431
Generate C header files for SVG files.
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
49 |
67
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
50 struct $1 { |
154 | 51 redraw_man_t *rdman; |
67
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
52 coord_t *root_coord;] |
63 | 53 $2[]dnl |
67
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
54 [}; |
62
7d976d925431
Generate C header files for SVG files.
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
55 |
130
3a4d6179e6a9
change mb_c_source.m4 and mb_c_header.m4 to specify parent for SVG object
Thinker K.F. Li <thinker@branda.to>
parents:
100
diff
changeset
|
56 extern $1_t *$1_new(redraw_man_t *rdman, coord_t *parent_coord); |
67
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
57 extern void $1_free($1_t *obj); |
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
58 |
3f2872a1a2fe
clear objects in *_free() for generated code
Thinker K.F. Li <thinker@branda.to>
parents:
64
diff
changeset
|
59 #endif /* __$1_H_ */] |
63 | 60 ]) |
61 divert[]dnl |