Mercurial > MadButterfly
diff tools/mb_c_source.m4 @ 159:b90abd31a281
Postponse free of coords, shapes, and paints when the rdman is dirty.
- Life-cycle of shapes and paints are managed by rdman.
- Add redraw_man_t::free_objs to collect objects their freeing are
postonsed.
Know Issue:
- Bullet of tank are not removed from screen when it is go out the range
of the map.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Sun, 05 Oct 2008 23:32:58 +0800 |
parents | 6ce68c1f7405 |
children | 530bb7728546 |
line wrap: on
line diff
--- a/tools/mb_c_source.m4 Fri Oct 03 10:22:08 2008 +0800 +++ b/tools/mb_c_source.m4 Sun Oct 05 23:32:58 2008 +0800 @@ -53,7 +53,7 @@ divert[]]) define([S_ADD_LINEAR_PAINT],[ - obj->$1 = paint_linear_new(rdman, $2, $3, $4, $5); + obj->$1 = rdman_paint_linear_new(rdman, $2, $3, $4, $5); ifelse(COUNT($6),0,,[dnl stops = (grad_stop_t *)malloc(sizeof(grad_stop_t) * n_$1_stops); memcpy(stops, $1_stops, sizeof(grad_stop_t) * n_$1_stops); @@ -62,7 +62,7 @@ ]) define([S_ADD_RADIAL_PAINT],[ - obj->$1 = paint_radial_new(rdman, $2, $3, $4); + obj->$1 = rdman_paint_radial_new(rdman, $2, $3, $4); ifelse(COUNT($5),0,,[ stops = (grad_stop_t *)malloc(sizeof(grad_stop_t) * n_$1_stops); memcpy(stops, $1_stops, sizeof(grad_stop_t) * n_$1_stops); @@ -85,12 +85,12 @@ ]]) define([S_ADD_RECT],[[ - obj->$1 = sh_rect_new($2, $3, $4, $5, $6, $7); + obj->$1 = rdman_shape_rect_new(rdman, $2, $3, $4, $5, $6, $7); rdman_add_shape(rdman, obj->$1, obj->$8); ]]) define([S_ADD_PATH],[[ - obj->$1 = sh_path_new("$2"); + obj->$1 = rdman_shape_path_new(rdman, "$2"); rdman_add_shape(rdman, obj->$1, obj->$3); ]]) @@ -99,7 +99,8 @@ ]]) define([S_ADD_TEXT],[[ - obj->$1 = sh_text_new("$2", $3, $4, $5, cairo_get_font_face(rdman->cr)); + obj->$1 = rdman_shape_text_new(rdman, "$2", $3, $4, $5, + cairo_get_font_face(rdman->cr)); rdman_add_shape(rdman, obj->$1, obj->$6); ]]) @@ -112,12 +113,12 @@ ]]) define([S_FILL_SHAPE],[dnl -[ obj->$1_fill = paint_color_new(rdman, $2, $3, $4, $5); +[ obj->$1_fill = rdman_paint_color_new(rdman, $2, $3, $4, $5); rdman_paint_fill(rdman, obj->$1_fill, obj->$1); ]]) define([S_STROKE_SHAPE],[dnl -[ obj->$1_stroke = paint_color_new(rdman, $2, $3, $4, $5); +[ obj->$1_stroke = rdman_paint_color_new(rdman, $2, $3, $4, $5); rdman_paint_stroke(rdman, obj->$1_stroke, obj->$1); ]]) @@ -203,36 +204,33 @@ define([F_ADD_LINEAR_PAINT],[[ stops = paint_linear_stops(obj->$1, 0, NULL); free(stops); - obj->$1->free(obj->$1); + rdman_paint_free(rdman, obj->$1); ]]) define([F_ADD_RADIAL_PAINT],[[ stops = paint_radial_stops(obj->$1, 0, NULL); free(stops); - obj->$1->free(obj->$1); + rdman_paint_free(rdman, obj->$1); ]]) define([F_ADD_PATH],[[ - rdman_remove_shape(rdman, obj->$1); - obj->$1->free(obj->$1); + rdman_shape_free(rdman, obj->$1); ]]) define([F_ADD_RECT],[[ - rdman_remove_shape(rdman, obj->$1); - obj->$1->free(obj->$1); + rdman_shape_free(rdman, obj->$1); ]]) define([F_ADD_TEXT],[[ - rdman_remove_shape(rdman, obj->$1); - obj->$1->free(obj->$1); + rdman_shape_free(rdman, obj->$1); ]]) define([F_FILL_SHAPE],[[ - obj->$1_fill->free(obj->$1_fill); + rdman_paint_free(rdman, obj->$1_fill); ]]) define([F_STROKE_SHAPE],[[ - obj->$1_stroke->free(obj->$1_stroke); + rdman_paint_free(rdman, obj->$1_stroke); ]]) define([CLEAR_VARS],[divert([-1])