[ 
https://issues.apache.org/jira/browse/PDFBOX-5258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17399310#comment-17399310
 ] 

ASF subversion and git services commented on PDFBOX-5258:
---------------------------------------------------------

Commit 1892347 from Tilman Hausherr in branch 'pdfbox/trunk'
[ https://svn.apache.org/r1892347 ]

PDFBOX-5258: revert accidental replace

> Lazier clipping
> ---------------
>
>                 Key: PDFBOX-5258
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5258
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Rendering
>    Affects Versions: 2.0.24, 3.0.0 PDFBox
>            Reporter: Tilman Hausherr
>            Priority: Major
>             Fix For: 2.0.25, 3.0.0 PDFBox
>
>
> From Stephan Schwiebert in linked PR:
> {quote}
> Calculating the intersection of two Area can take a lot of time. However, 
> depending on the Graphics2D that is used for rendering, it may not be 
> necessary to actually perform this operation.
> For instance, when generating an SVG, the individual clipping paths can be 
> serialized individually, and the intersection is then calculated at runtime, 
> when the SVG file is rendered.
> The idea of this PR is to replace PDGraphicsState.clippingPath with a list of 
> GeneralPaths, which is lazily evaluated, truncated & cached when 
> getCurrentClippingPath() is called (effectively leaving the current behaviour 
> of PdfBox unchanged, and it should also not have any significant impact on 
> the performance).
> Additionally, a new method protected void transferClip(PDGraphicsState 
> graphicsState, Graphics2D graphics) is added to PageDrawer. By default, this 
> method makes use of getCurrentClippingPath() to call graphics.setClip(...), 
> which again is what PdfBox currently does.
> However, classes that extend PageDrawer can override this method, and 
> directly access the individual clipping paths, without any need to calculate 
> their intersection.
> In some cases (shading fills & transparency groups), it is still necessary to 
> calculate the intersection.
> {quote}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to