Description: We currently have a function OutputDevice::EmulateDrawTransparent(). This is used because OutputDevice::DrawTransparentNatively() can fail, because a number of our VCL backends don't guarantee the drawing of PolyPolygons and PolyPolylines. We need the following backends to guarantee the drawing of PolyPolygons: * X11SalGraphicsImpl::drawFilledTrapezoids() * GenPspGraphics::drawPolyPolygon() The following backends need to guarantee the drawing of PolyLines: * X11SalGraphicsImpl::drawPolyLine() * GenPspGraphics::drawPolyLine() * AquaSalGraphics::drawPolyLine() - note this can only fail if using IOS Steps to Reproduce: n/a Actual Results: n/a Expected Results: n/a Reproducible: Always User Profile Reset: No Additional Info: We can basically remove OutputDevice::EmulateDrawTransparent() and then collapse OutputDevice::DrawTransparentNatively() into OutputDevice::DrawTransparent(). This will remove a lot of code that currently needs to be maintained. It will hopefully speed up things also.
FWIW: Some vague recollection X11 will be unsupported/dropped (don't take my word for it though) Related to IOS.. - political talk - hope all those bit of pieces related macOS/IOS rendering add up to make Skia a logical solution :-)