Mercurial > MadButterfly
diff src/redraw_man.c @ 834:9f305d895e8f
Keep width and height of a canvas for mock of canvas
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Fri, 17 Sep 2010 12:21:35 +0800 |
parents | 419c7de41bfa |
children | 51da337879bd |
line wrap: on
line diff
--- a/src/redraw_man.c Fri Sep 17 12:21:35 2010 +0800 +++ b/src/redraw_man.c Fri Sep 17 12:21:35 2010 +0800 @@ -522,6 +522,7 @@ */ typedef struct { co_aix parent_2_cache[6]; + int w, h; } mock_mbe_t; #endif @@ -536,7 +537,13 @@ return cr; #else - return (mbe_t *)malloc(sizeof(mock_mbe_t)); + mock_mbe_t *mbe; + + mbe = malloc(sizeof(mock_mbe_t)); + mbe->w = w; + mbe->h = h; + + return (mbe_t *)mbe; #endif } @@ -556,8 +563,11 @@ *w = mbe_image_surface_get_width(surface); *h = mbe_image_surface_get_height(surface); #else - *w = 0; - *h = 0; + mock_mbe_t *mbe; + + mbe = (mock_mbe_t *)canvas; + *w = mbe->w; + *h = mbe->h; #endif } @@ -1347,7 +1357,7 @@ area_init(coord_get_pcache_area(coord), 4, poses); - coord_set_flags(coord, COF_DIRTY_PCACHE_AREA); + coord_clear_flags(coord, COF_DIRTY_PCACHE_AREA); } /*! \brief Compute area of a coord. @@ -2922,6 +2932,7 @@ coord2->matrix[2] = 20; coord2->matrix[5] = 30; rdman_coord_changed(rdman, coord2); + rdman_redraw_changed(rdman); /* To test if transform matrix of cached coord working */ parent_2_cache = ((mock_mbe_t *)_coord_get_canvas(coord2))->parent_2_cache;