Issue 115630 - hatched area extends object boundary for custom shape ovals in presentation mode and export
hatched area extends object boundary for custom shape ovals in presentation m...
Product: Impress
Classification: Application
Component: viewing
PC All
: P3 trivial (vote)
: 4.0.0
Assigned To: Armin Le Grand
Depends on:
  Show dependency treegraph
Reported: 2010-11-17 11:06 UTC by jaakov
Modified: 2013-07-12 16:07 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation on: ---
Developer Difficulty: ---

Example of bad presentation (9.91 KB, application/vnd.oasis.opendocument.presentation)
2010-11-17 13:52 UTC, jaakov
no flags Details
Presentation file for rocketkeis's comment (33.75 KB, application/vnd.oasis.opendocument.presentation)
2011-05-29 06:29 UTC, keiscasas
no flags Details
Screenshot in slide show mode of shapes_presentation.odp (182.99 KB, image/png)
2011-05-29 06:30 UTC, keiscasas
no flags Details
Exported PDF of shapes_presentation.odp (39.67 KB, application/pdf)
2011-05-29 06:31 UTC, keiscasas
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description jaakov 2010-11-17 11:06:25 UTC
1. Create an empty presentation
2. Using the drawing toolbar, create the flowchart "connector"
(circle, not a simple one, but from the flowchart menu button)
3. Right-Click on it, select "Area..."
4. In tab "Hatching", select the any hatch, say, "Black 0 degrees", and 
confirm [Ok]
5. Press F5 to view the slide. Observe the white-area circle with a 
usual black border.

Required: the area of the circle should be hatched, not white.
Comment 1 wolframgarten 2010-11-17 12:27:44 UTC
Sorry, not reproducible. Is this an original OOo version you are using or from
some other distributor?
Comment 2 jaakov 2010-11-17 13:52:07 UTC
Created attachment 75029 [details]
Example of bad presentation
Comment 3 jaakov 2010-11-17 13:56:58 UTC
A version shipped with debian (Version 1:3.2.1-7 in debian's classification). Their own bugtracking 
page for impress seems not being taken care of at the moment, so I decided to check upstream.

The testcase is attached. Please notice that the error occurs only in the slide show mode; editing 
mode and PDF export work as expected.

Please confirm or reject, providing the version you are using.
Comment 4 jaakov 2010-11-21 19:56:32 UTC
Also found in version listed as: 3.2.1 
OOO320m19 (Build:9505)
ooo-build, Debian package 1:3.2.1-9

Please give your version number, so that when I get to installing it, I'll confirm or reject it.
Comment 5 wolframgarten 2010-11-22 09:19:08 UTC
This works for me on OpenOffice original version OOO320_m18, build 9502, t4ested
on Suse.
Comment 6 keiscasas 2011-05-29 06:29:19 UTC
Created attachment 76569 [details]
Presentation file for rocketkeis's comment

This contains a slide with shapes having fill options.
Comment 7 keiscasas 2011-05-29 06:30:32 UTC
Created attachment 76570 [details]
Screenshot in slide show mode of shapes_presentation.odp
Comment 8 keiscasas 2011-05-29 06:31:23 UTC
Created attachment 76571 [details]
Exported PDF of shapes_presentation.odp
Comment 9 keiscasas 2011-05-29 06:38:15 UTC
The original reported problem (white area instead of hatched area) was NOT replicated in Slide Show mode. It was REPLICATED when the file was exported to PDF. In Slide Show mode, a different problem of the hatching pattern going beyond the shape's borders was found instead.

NOTE:  The original report was made when using a Linux version. The findings in this comment were made when using a Windows version.  

1. Download and open "shapes_presentation.odp" in Impress.
2. Press F5 to view in Slide Show mode.
>> Screenshot as captured using my machine is attached as "shapes_slideshow.png".

FINDINGS (see shapes_slideshow.png):
1. The fill patterns go beyond the shapes' border in the following conditions:
   (a) Area is filled through hatching or bitmaps, AND
   (b) Shapes used are any of the ff:
       - Flowcharts (Connector, Or), 
       - Basic Shapes (Circle, Ellipse, Ring), 
       - Symbol Shapes (Smiley Face, Heart).

2. Using the Ellipse from the Drawing Toolbar to draw a circle or an ellipse, the hatching pattern remains witin the borders when in Slide Show mode.

3. There were other curved shapes filled with hatching patterns that didn't have the same problem in Slide Show mode. E.g., Callouts - Round Callout, Basic Shapes - Pie.

4. When exported as PDF (please see attachment "shapes_exported.pdf"), the hatching patterns are not displayed for several of the shapes. And the bitmap pattern is displayed within the shape's border.

5. This reflects an inconsistency within the product of how it renders the same shapes and patterns as the presentation is being edited, as it is displayed in Slide Show mode, and as it is exported to PDF.

Further tests using other combinations of shapes and fill patterns. For this, familiarity with the structure of the code could help optimize the combinations to try.

- Build used: OOo-dev 3.4.0 (DEV300m106)
- OS: Windows 7 Home Edition, 64-bit
- Processor: Intel Core i3 CPU M350; 2.27GHz
- RAM: 4GB
Comment 10 jaakov 2012-06-13 09:44:27 UTC
Sorry, don't have openoffice any more, cannot re-test. Please treat the new problem instead of the previously reported issue.
Comment 11 liuping 2012-09-20 08:23:18 UTC
Reproduce this bug on win7-64bit on AOO3.5 r1387022
Comment 12 Regina Henschel 2012-09-20 19:24:19 UTC
Remove "needmoreinfo". Bug is reproducible on WinXP with r1378069, the hatch has an octagon form instead of an ellipse. It occurs for export as bmp and for export as wmf too.

Adapt summary to the problem.

A debug build shows the assertion
Error: Optimizing could fail with beziers! From File c:/AOO_2012_07_git/trunk/main/tools/source/generic/poly.cxx at Line 880

Pure Bézier-curves and classical ovals do not show the error.
Comment 13 Armin Le Grand 2012-09-24 09:46:57 UTC
ALG: Adding me to CC.
Comment 14 Armin Le Grand 2012-09-27 13:09:26 UTC
ALG: Taking over. Needed to secure OutputDevice::ImplDrawHatch in vcl and PolyPolygon::Optimize in tools to useful fallbacks when curves are involved. Both do not handle that and - even worse - PolyPolygon::Optimize will *remove* the curve flags without notice.
Checked if it works, committed, done.
Comment 15 Armin Le Grand 2012-09-27 13:09:59 UTC
ALG: Committed in revision 1390986
Comment 16 binguo 2012-11-16 06:05:09 UTC
Verified on Aoo_Trunk_20121109.1800 Rev.1407366
Comment 17 binguo 2012-11-16 06:05:59 UTC
close it