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);