<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi Regina,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Regina Henschel <<a href="mailto:rb.henschel@t-online.de">rb.henschel@t-online.de</a>> 於 2019年4月9日 週二 上午7:06寫道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
I'm looking at <a href="https://bugs.documentfoundation.org/show_bug.cgi?id=115813" rel="noreferrer" target="_blank">https://bugs.documentfoundation.org/show_bug.cgi?id=115813</a><br>
"Position shifted while moving the handle of OOXML Callout shape".<br>
<br>
Unfortunately not only the Callout shape is affected.<br>
There are 106 shapes in MS Office, which have handles. 38 are OK with <br>
the current implementation and 68 have at least one handle, which reacts <br>
wrongly. These are only those from ooxml, not from binary format.<br>
<br>
The calculation is in method <br>
EnhancedCustomShape2d::SetHandleControllerPosition in <br>
svx\source\customshapes\EnhancedCustomShape2d.cxx. The relevant part <br>
starts about #1230<br>
<br></blockquote><div><br></div><div>It's not clear to me what makes control point of Impress callout shape attach to the pointer, and </div><div>what are the differences between the Impress one and the PowerPoint one.</div><div><br></div><div>Have you checked how custom shapes are imported already? </div><div>Relevant codes are in /oox/source/drawingml/customshapes/customshapeproperties.cxx<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The relation ship between handle position and adjustment value is in <br>
most cases not direct but via formulas. For to get an adjustment value <br>
from a handle position you need to apply the formulas backwards.<br>
<br>
It might be possible to identify handles, which behave similar. For <br>
example some Star-shapes use the adjust value as factor to the radius <br>
with 0 in center and 1 at the edge. But other adjust values are used in <br>
other ways. I have not tried to find groups of similar usage yet.<br>
<br>
What to do? In principle you can get the needed operations from the <br>
presets as defined in the standard. But how to organize that, so that it <br>
can be done step by step and perhaps can be done by several people? <br>
And, of course, the code should still be readable and clear.<br></blockquote><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Kind regards<br>
Regina<br>
<br>
<br>
</blockquote><div><br></div><div><br></div><div>Best regards,</div><div>Mark. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">_______________________________________________<br>
LibreOffice mailing list<br>
<a href="mailto:LibreOffice@lists.freedesktop.org" target="_blank">LibreOffice@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/libreoffice" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/libreoffice</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Mark Hung<br></div></div></div></div></div></div></div></div>