[Bug 34555] Make cropping handles for images (as in Draw/Impress) available for all LibreOffice applications

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jan 23 14:45:30 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=34555

--- Comment #51 from Philippe Jung <phil.jung at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150123/78fa3fde/attachment.html>


More information about the LibreOffice mailing list