Libart can perform intersection (clipping), union, difference, and symmetric difference of vector paths. The latter is especially important for exact computation of redraw areas in the canvas.