Bug 139170 - Make OutputDevice::EmulateDrawTransparent(() redundant
Summary: Make OutputDevice::EmulateDrawTransparent(() redundant
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
Version:
(earliest affected)
6.0.0.3 release
Hardware: All other
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-22 20:26 UTC by Chris Sherlock
Modified: 2020-12-23 09:05 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Sherlock 2020-12-22 20:26:21 UTC
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.
Comment 1 Telesto 2020-12-23 09:05:21 UTC
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 :-)