Issue 124580

Summary: PageShadow sometimes shows gaps
Product: Draw Reporter: Armin Le Grand <Armin.Le.Grand>
Component: viewingAssignee: Armin Le Grand <Armin.Le.Grand>
Status: CLOSED FIXED QA Contact:
Severity: Normal    
Priority: P3    
Version: 4.1.0-dev   
Target Milestone: 4.2.0   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description Armin Le Grand 2014-04-02 10:57:51 UTC
In the migration to double precision (seen in aw080 but also in master) values we have places in vcl where based on double translation and scale the integer Point and Size need to be created. Up to now a direct basegfx::fround was used for this, but this can be wrong for the Size. It is more precise (and may give a different integer result) when using basegfx::fround(translation + scale) and substractiong the already rounded Point. This is because the target position where the double addition lands is the correct position to round where the pure scale values may round based on different (and in this case wrong) unit buckets (always from ]v-0.5 .. v+0.5] when using basegfx::fround).
This visualizes in sometimes appearing single-pixel sized 'gaps' in the page shadow (just open new draw/impress and play with zoom, watch page shadow, esp. in the edges since there different bitmaps get glued).
Comment 1 Armin Le Grand 2014-04-02 10:58:12 UTC
Grepping, preparing...
Comment 2 SVN Robot 2014-04-02 11:21:46 UTC
"alg" committed SVN revision 1583969 into trunk:
i124580 corrected some conversions of scale values to integer positions
Comment 3 Armin Le Grand 2014-04-02 11:24:09 UTC
Okay, corercted places where a metric item (a distance) was directly converted, but in principle the max position was intended. Commited, done.