Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | Hyperlink is lost on import if assigned to transparent object. | ||||||
---|---|---|---|---|---|---|---|
Product: | Impress | Reporter: | mikhail.voytenko | ||||
Component: | code | Assignee: | wolframgarten | ||||
Status: | CLOSED FIXED | QA Contact: | issues@graphics <issues> | ||||
Severity: | Trivial | ||||||
Priority: | P3 | CC: | issues, sven.jacobi | ||||
Version: | DEV300m40 | Keywords: | oooqa, release_blocker | ||||
Target Milestone: | OOo 3.1 | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Issue Type: | DEFECT | Latest Confirmation in: | --- | ||||
Developer Difficulty: | --- | ||||||
Issue Depends on: | |||||||
Issue Blocks: | 95768 | ||||||
Attachments: |
|
Description
mikhail.voytenko
2009-02-11 16:16:14 UTC
The bugdoc can be found in q:\bugdocs\issuezilla\099000\099123.pps AW: Problem is the usage of MetaFile for presentation, one more argument to change to primitive usage. MetaFile is a paint recording, while primitives are a scene graph. In the primitives is an extra handling for invisible objects to derive valid BoundRects for them; in it's usage as scene graph this is valid. The MetaFile does not contain data anymore for invisible objects. This was the case before by pure chance, e.g. VCL could have since ever not recorded paints when pen and fill is not set. It is not a good idea to base the BoundRect functionality in the slideshow on such data. The ideal scenario would be (A): The Slideshow uses primitives and such gets a correct BoundRect even for invisible objects. With MetaFile in Slideshow (B): When slideshow gets the MetaFile for each object, it seems to generate the BoundRect from it. If this is empty, use the API and xShape to get topLeft() amd Size() and build a BoundRect from them. With primitive renderer (C): Do not ignore invisible geometry when emulating the MetaFile generation, but paint an invisible rectangle instead. The letters are in order of clean programming, but in the inverse order of time needed for the change. AW: Experimented a bit. There are various hidden shapes, but the one in question is not added. It seems to be an AutoShape, so i will need to look deeper. Need to add a look at svx, though. Created attachment 60122 [details]
Reduced BugDoc with invisible object containing a UserAction
AW: It is indeed an AutoShape who's decomposition creates an empty sequence of prmitives. While this sounds correct in the first place, for emulating the old MetaFile behaviour, it will be necessary to produce primitives for invisible geometries; that's what the slideshow implementation currently is based on. It wants to have MetaFile entries for painting an invisible object. To emulate that, i will need to do two changes: (1) Create helper data for invisible geometries, using HitTestPrimitive2D which luckily already exists and adapting primitive creators (in this case ViewContactOfSdrRectObj::createViewIndependentPrimitive2DSequence()) to do so. (2) Change VclMetafileProcessor2D (the primitive rendeer producing MetaFiles in a compatible way) to no longer ignore HitTestPrimitive2D, but to paint empty rectangles instead. Added a reduced BugDoc, doing some more tests, looking for a CWS to add... AW: Works as expected, committed changes to drawinglayer and svx. Added task to CWS aw063. Done. AW->WG: Please verify. Use BugDoc, presentation -> in the lower third of the screen should be a link, hoovering above it should change the mousepointer, clicking it should trigger the browser. Verified in CWS. Tested in OOO310_m3. Closed. |