Mercurial > MadButterfly
view src/subtree_free.c @ 330:b0571f10c1b8
Use pango_cairo_layout_path() instead of pango_cairo_show_layout().
- pango_cairo_show_layout() will stroke and fill text.
- We want shape itself add pathes to cairo context, but not stroke and fill.
- redraw manager will apply paints (source surface) on cairo context before
stroke and fill to get right color.
- Using pango_cairo_show_layout() we can not apply stroke and fill color
seperately. So, pango_cairo_layout_path() is used instead of.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Fri, 06 Mar 2009 21:04:52 +0800 |
parents | 45d9a1e2764d |
children | 586e50f82c1f |
line wrap: on
line source
#include "mb_redraw_man.h" #include "mb_animate.h" struct _subtree_free { mb_action_t action; coord_t *coord; }; typedef struct _subtree_free subtree_free_t; void mb_subtree_free_start(mb_action_t *action, const mb_timeval_t *now, const mb_timeval_t *playing_time, redraw_man_t *rdman) { subtree_free_t *sfree = (subtree_free_t *)action; rdman_coord_subtree_free(rdman, sfree->coord); } void mb_subtree_free_step(mb_action_t *act, const mb_timeval_t *now, redraw_man_t *rdman) { } void mb_subtree_free_stop(mb_action_t *act, const mb_timeval_t *now, redraw_man_t *rdman) { } void mb_subtree_free_free(mb_action_t *act) { free(act); } mb_action_t *mb_subtree_free_new(coord_t *coord, mb_word_t *word) { subtree_free_t *sfree; sfree = (subtree_free_t *)malloc(sizeof(subtree_free_t)); if(sfree == NULL) return NULL; sfree->action.start = mb_subtree_free_start; sfree->action.step = mb_subtree_free_step; sfree->action.stop = mb_subtree_free_stop; sfree->action.free = mb_subtree_free_free; sfree->coord = coord; mb_word_add_action(word, (mb_action_t *)sfree); return (mb_action_t *)sfree; }