Issue 118524 - Activated scaled/sheared OLEs do not behave well when changing their ObjectArea
Summary: Activated scaled/sheared OLEs do not behave well when changing their ObjectArea
Alias: None
Product: Draw
Classification: Application
Component: formatting (show other issues)
Version: 3.4.0 Beta (OOo)
Hardware: PC Windows 7
: P5 (lowest) Minor (vote)
Target Milestone: ---
Assignee: Armin Le Grand
QA Contact:
Depends on:
Reported: 2011-10-18 12:08 UTC by Armin Le Grand
Modified: 2017-05-20 10:30 UTC (History)
1 user (show)

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

Fixes errors described in the task (10.14 KB, patch)
2011-10-18 16:36 UTC, Armin Le Grand
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description Armin Le Grand 2011-10-18 12:08:15 UTC
ALG: This is a follow-up to #i118485#, thanks to Regina for showing this.
Comment 1 Armin Le Grand 2011-10-18 12:11:37 UTC
ALG: Problem is that the activated OLEs are shown aligned to their unrotated, unsheared rectangle. This means that when changing the OLEs ObjectArea this needs to be taken into account by centering the new ObjectArea to the scaled/sheared real area.

ALG: Adapted in sc\source\ui\app\client.cxx and sd\source\ui\docshell\sdclient.cxx. Not needed (for now) in sw\source\ui\uiview\swcli.cxx since SW has it's own OLE implementation.

ALG: Building, looking at SD and SC behaviour...
Comment 2 Armin Le Grand 2011-10-18 12:57:42 UTC
ALG: Works as expected. I also noticed that the green handles can be modified interactively which leads to errors, too. Trying to deactivate standard interaction handles when OLE is inplace active...
Comment 3 Armin Le Grand 2011-10-18 15:31:17 UTC
ALG: SC does not correct handles on OLE activation itself, added that.

ALG: Resizing of a rotated/sheared OLE makes the object jump around. After some debugging I found a place where Joe removed shear/rotate from OLEs and somewhat moved them around, entitled 'kleine Korrekturen' (small corrections). This needs to be removed. Checking all transforming methods at the OLE...
Comment 4 Armin Le Grand 2011-10-18 16:15:19 UTC
ALG: Translate and Resize in activated mode did not work well in SC, checked for reason. The OLE client's size change calls SetLogicRect atthe SdrOle2Obj as needed, but these methods at SdrOle2Obj all again call SetVisAreaSize which again sets the visual area size at the embedded object. This leads to problems (at least not to a loop). Added a mechanism to not do this recursive work. Checking...
Comment 5 Armin Le Grand 2011-10-18 16:29:24 UTC
ALG: Corrected SC's ScrollToObject(), it used the LogicRect. Instead, usage of the BoundRect is needed which by definition defines the visible area of the SdrObject.
Comment 6 Armin Le Grand 2011-10-18 16:36:31 UTC
Created attachment 76901 [details]
Fixes errors described in the task
Comment 7 Armin Le Grand 2011-10-18 16:37:03 UTC
ALG: Fixed Reginas findings and also some own ones, done so far.