https://issues.apache.org/ooo/show_bug.cgi?id=121382

--- Comment #4 from Armin Le Grand <[email protected]> ---
ALG: I am not sure, but I would take the metric (the length) directly. Normally
this is done by sqrt(x*x + y*y), but in this case only 90 or 270 deg can be
used. I would use something like:

        for( i = 0, nSum = 0; i < nLen; i++ )
        {
            // #121382# text may be rotated 90 or 270 degrees, so
aMappedSize.Width may be zero
            // and aMappedSize.Height has to be used
            const Size aMappedSize(ImplMap(Size(pDXArry[i], 0)));
            const sal_Int32 nSize(std::max(aMappedSize.Width(),
aMappedSize.Height()));
            nSum += nSize;
            pDXArry[ i ] = nSum;
        }

You  wrote that .eM11 and .eM22 are *both* close to zero, in tat case it would
not work. I guess that .eM11 and .eM22 are the scalers of a homogen matrix, so
when rotated not both should be zero.
Just my 2 cents...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.

Reply via email to