/************************************************************************** Flush all regions that have been previously marked as dirty. See dirty_rect and dirty_all. This function is generally called after we've processed a batch of drawing operations. **************************************************************************/ void flush_dirty(void) { if (num_dirty_rects == MAX_DIRTY_RECTS) { flush_mapcanvas(0, 0, map_canvas->allocation.width, map_canvas->allocation.height); } else { int i; for (i = 0; i < num_dirty_rects; i++) { flush_mapcanvas(dirty_rects[i].x, dirty_rects[i].y, dirty_rects[i].width, dirty_rects[i].height); } } num_dirty_rects = 0; }
/************************************************************************** Flush all regions that have been previously marked as dirty. See dirty_rect and dirty_all. This function is generally called after we've processed a batch of drawing operations. **************************************************************************/ void flush_dirty(void) { if (num_dirty_rects == MAX_DIRTY_RECTS) { Dimension width, height; XtVaGetValues(map_canvas, XtNwidth, &width, XtNheight, &height, NULL); flush_mapcanvas(0, 0, width, height); } else { int i; for (i = 0; i < num_dirty_rects; i++) { flush_mapcanvas(dirty_rects[i].x, dirty_rects[i].y, dirty_rects[i].width, dirty_rects[i].height); } } num_dirty_rects = 0; }