Mercurial > MadButterfly
comparison src/redraw_man.c @ 531:1ad6c6192a80 Android_Skia
Skip root coord when propagate dirty area to parent cached
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Fri, 25 Dec 2009 11:13:21 +0800 |
parents | cd41d9033567 |
children | 5711059b9642 |
comparison
equal
deleted
inserted
replaced
530:cd41d9033567 | 531:1ad6c6192a80 |
---|---|
1843 | 1843 |
1844 n_dirty_coords = rdman->dirty_coords.num; | 1844 n_dirty_coords = rdman->dirty_coords.num; |
1845 dirty_coords = rdman->dirty_coords.ds; | 1845 dirty_coords = rdman->dirty_coords.ds; |
1846 for(i = 0; i < n_dirty_coords; i++) { | 1846 for(i = 0; i < n_dirty_coords; i++) { |
1847 coord = dirty_coords[i]; | 1847 coord = dirty_coords[i]; |
1848 if(coord_get_flags(coord, COF_OWN_CANVAS)) { | 1848 if(coord_get_flags(coord, COF_OWN_CANVAS) && |
1849 add_dirty_area(rdman, coord, coord->cur_area); | 1849 !coord_is_root(coord)) { |
1850 add_dirty_area(rdman, coord, coord->last_area); | 1850 add_dirty_area(rdman, coord->parent, coord->cur_area); |
1851 add_dirty_area(rdman, coord->parent, coord->last_area); | |
1851 } | 1852 } |
1852 } | 1853 } |
1853 | 1854 |
1854 return OK; | 1855 return OK; |
1855 } | 1856 } |
1913 | 1914 |
1914 r = clean_rdman_geos(rdman); | 1915 r = clean_rdman_geos(rdman); |
1915 if(r != OK) | 1916 if(r != OK) |
1916 return ERR; | 1917 return ERR; |
1917 | 1918 |
1919 /* Zeroing must be performed after clearing to get latest position | |
1920 * of shapes for computing new bounding box | |
1921 */ | |
1918 r = add_rdman_zeroing_coords(rdman); | 1922 r = add_rdman_zeroing_coords(rdman); |
1919 if(r != OK) | 1923 if(r != OK) |
1920 return ERR; | 1924 return ERR; |
1921 | 1925 |
1922 r = zeroing_rdman_coords(rdman); | 1926 r = zeroing_rdman_coords(rdman); |