Summary: | Evince PDF seems to ignore /Matrix in /XObject | ||
---|---|---|---|
Product: | poppler | Reporter: | Carlos Garcia Campos <carlosgc> |
Component: | cairo backend | Assignee: | poppler-bugs <poppler-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | samtygier, stimberg |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | fix ctm when painting groups |
Description
Carlos Garcia Campos
2010-09-02 02:34:26 UTC
This issue is still reproducable with poppler 0.16.0, see this Ubuntu bug report for another example: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/711300 Indeed, we are ignoring the TransformationMatrix from the state in CairoOutputDev::BeginTransparencyGroup. Caching the state->getCTM() into a cairo_matrix_t and then calling cairo_set_matrix with this matrix at the begining of CairoOutputDev::PaintTransparencyGroup works when scale = 1 but (not surprisingly) does not scale properly when rendering at bigger scales. Created attachment 55629 [details] [review] fix ctm when painting groups Patch to fix. Similar to the set soft mask bugs we need to store the current ctm during beginTransparencyGroup when the group is created and use this ctm when painting the group. *** Bug 40596 has been marked as a duplicate of this bug. *** Comment on attachment 55629 [details] [review] fix ctm when painting groups Review of attachment 55629 [details] [review]: ----------------------------------------------------------------- Patch looks good to me and it doesn't introduce regressions in my tests, so please, push it to both branches. Thanks! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.