Mercurial > MadButterfly
view tools/mb_c_header.m4 @ 210:3fadd2f2742e
M4 macros to generate code for dynamic loading.
- Introduce sprite.
- Add mb_sprite_t and mb_sprite_lsym_t
- mb_sprite_lsym_t is sprite with symbol that searched with linear search.
- Add mb_sprite_lsym_t as first member variable of sprite.
- Add symbol table to generated C code.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Fri, 12 Dec 2008 00:33:54 +0800 |
parents | 6ce68c1f7405 |
children | 104d83378582 |
line wrap: on
line source
changequote(`[', `]')dnl divert([-1]) define([ADD_LINEAR_PAINT],[[ paint_t *$1; ]]) define([ADD_RADIAL_PAINT],[[ paint_t *$1; ]]) define([ADD_PATH],[ [ shape_t *$1; ]]) define([ADD_RECT],[ [ shape_t *$1; ]]) define([ADD_COORD],[ [ coord_t *$1; ]]) define([ADD_TEXT],[ [ shape_t *$1; ]]) define([COLOR_STOP],[ ]) define([REF_STOPS_RADIAL],) define([REF_STOPS_LINEAR],) define([FILL_SHAPE],[[ paint_t *$1_fill; ]]) define([STROKE_SHAPE],[[ paint_t *$1_stroke; ]]) define([FILL_SHAPE_WITH_PAINT],) define([STROKE_SHAPE_WITH_PAINT],) define([STROKE_WIDTH],) define([GROUP_HIDE],) define([PATH_HIDE],) define([RECT_HIDE],) define([COORD_TRANSLATE],) define([COORD_MATRIX],) define([SHAPE_TRANSLATE],) define([SHAPE_MATRIX],) define([ADD_SYMBOL],) define([MADBUTTERFLY],[dnl [#ifndef __$1_H_ #define __$1_H_ typedef struct $1 $1_t; struct $1 { mb_sprite_lsym_t lsym; redraw_man_t *rdman; coord_t *root_coord;] $2[]dnl [}; extern $1_t *$1_new(redraw_man_t *rdman, coord_t *parent_coord); extern void $1_free($1_t *obj); #endif /* __$1_H_ */] ]) divert[]dnl