Hi Philippe,
Philippe Jung schrieb:
Hi,
I am working on implementing the Crop Image feature in Writer.
Which one? In Impress/Draw we have .uno:Crop (That is used for cropping
with the mouse) and .uno:GrafAttrCrop (That opens the crop dialog)?
Cropping ends in svx/source/svdraw/svddrgmt.cxx SdrDragCrop::EndSdrDrag.
When cropping from Impress, marked object is SdrGrafObj. I rewrote part
of the code so that Cropping is now part of SdrGrafObj (Similar to
NbcMove, NbcResize and so on).
??
In Writer it is the property "GraphicCrop", a struct, type
com.sun.star.text.GraphicCrop.
When cropping from Writer, the marked Object (and so the object to crop)
is SwVirtFlyDrawObj (dflyobj.cxx). I have added SwVirtDrawObj::NbcCrop
as Resize or Move. At this point, I would like to save the new values
for crop attributes. That's where help is needed : how SwVirtFlyDrawObj
relates to the embedded image and what is the "expected" way of applying
an attribute to the image in a SwVirtFlyDrawObj?
Got various ways to read the current value of the image, but I did not
succeed in writing new values. I am a bit lost betwwen GetFrm,
GetFrm->Lower, FrameFmt, and all the possible attribute pools.
Any recommandation would be appreciated :-).
The crop property exists for pictures in Writer, for
com.sun.star.text.TextGraphicObject and
com.sun.star.drawing.GraphicObjectShape as well. There is no problem to
crop a picture using a macro. In a macro you need to set the GraphicCrop
property, nothing more. Therefore there should be no need to change
anything on the objects themselves, but write a UI for it.
(I'm no core developer, but see things from writing macros, so I might
be totally wrong.)
Kind regards
Regina
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice