Skip to content
  • Federico Mena Quintero's avatar
    Push/pop the cairo_t while drawing a mask's contents · 465c2073
    Federico Mena Quintero authored
    This includes a new test, nested_masks in
    librsvg_crate/tests/primitives.rs, which captures the parts that were
    broken in 761175-recursive-masks.svg.
    
    The problem is that masks were always drawn *outside* of the nested
    cr.  The mask was drawn to a temporary surface, but the
    DrawingCtx was not aware that the mask was using a temporary cr for
    that surface.  So, the test for the cr_stack depth in
    CompositingAffines::new() wasn't aware of that temporary cr.
    
    We need to unify the "draw stuff to a temporary surface" abstraction.
    
    765 pass, 1 fail
    465c2073