https://bugs.freedesktop.org/show_bug.cgi?id=34555
--- Comment #51 from Philippe Jung <phil.jung@free.fr> ---
Hello,
I tried to work on this bug last year and I had something nearly working. But,
during this time, the code base changed (a lot) and I have no time for the
moment to rework it. So I would like to share what I found. I will attach the
patch "as is" to this ticket. It is not working at all with current trunk.
Basically, you have to use a virtual NbcCrop function on a parent that is
common to SwVirtDraw and SdrGraph
I am not going to detail every change I made in this ticket. Please read the
patch and if you have any question feel free to ask.
The crop code was in SdrDragCrop::EndSdrDrag. You have to move this code in
SdrGraphObj. Now in SdrDragCrop::EndSdrDrag call the crop virtual =>
getSdrDragView().CropMarkedObj
Now the problems I am facing:
1) cropping code has changed a lot in EndSdrDrag. Mine uses the old code. You
will have to adapt it
2) Regarding links, you can also consider Armin Le Grand web page
https://wiki.openoffice.org/wiki/Aw080_documentation. This explains the
mathematical logic using transformation matrixes (If you "git blame" the
cropping code, this will point to "alg"). If I am not mistaken, these changes
come from evolution of OpenOffice merged into Libre Office.
3) I tried to contact alg and his advice is "I would suggest to *not* touch
SwVirtFlyDrawObj at all, it's dead code. It's a kind of proxy, try to get the
original SdrObject from it and modify that instead. Or better: just tunnel your
call to the original object."
Philippe
--
You are receiving this mail because:
You are on the CC list for the bug.
Context
- [Bug 34555] Make cropping handles for images (as in Draw/Impress) available for all LibreOffice applications · bugzilla-daemon
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.