understanding ImpForceLineAngle, aGeo and friends

Dr. David Alan Gilbert dave at treblig.org
Sat Jan 2 21:04:40 UTC 2021


* Regina Henschel (rb.henschel at t-online.de) wrote:
> Hi David,

Hi Regina,
  Thanks for the reply,

> Dr. David Alan Gilbert schrieb am 02.01.2021 um 04:35:
> > Hi,
> >    I'd appreciate some pointers on shape creation and in
> > particular why ImpForceLineAngle exists.
> 
> ImpForceLineAngle() exists from the beginning. I see it already in OOo1.1.5.
> You will find it as ImpForceLineWink() in the history of svdopath.cxx.

Yep, learnt another word of German :-)

> [..]
> >    a) What is ImpForceLineAngle for, why calculate an angle
> > from the line you've just created? >    b) Is that angle supposed to be applied to that line - or
> > is it intended just for something else ?
> 
> The purpose is, that the user gets a simple way to have text along the line.
> Without this rotation, the text would always be horizontal, although the
> user creates a non horizontal line.

Yep, that bit makes sense.

> I think, at some point between OOo2.4 and OOo3.2.1 this rotation was
> extended to polylines.

I think this is the bit that's confusing here; most lines get loaded 
OK, but for some reason this one is different (and possibly only in Writer);
you'd think if you were going to build a line out of two points stating
where you want them, then you wouldn't expect it to get rotated
(If it always did it, wouldn't all lines end up horizontal).

> The member aGeo contains the transformation angles. When you apply this
> shear and rotation to the left/top corner of the logic rectangle (member
> maRect) you get the snap rectangle (member maSnapRect). These angles are
> part of the API. You need to know, that vertical flip introduces an
> additional 180° rotation.

OK.

> Custom shapes are special in that they have properties mirror vertical and
> mirror horizontal in their enhanced geometry, that SdrObjCustomShape has the
> true rotation angle as member fObjectRotation, and that they allow text
> rotation independent from object rotation in their enhanced geometry.

Is there anything I should be reading about this?

Dave

> Kind regards
> Regina
> 
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice
-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\        dave @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/


More information about the LibreOffice mailing list