svgio/source/svgreader/SvgNumber.cxx |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

New commits:
commit 962bd03938e3e5cf513b91ed897ac11c248e827a
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Mon Nov 4 21:31:39 2024 +0200
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Tue Nov 5 06:36:16 2024 +0100

    Simplify a bit
    
    SVG diagonal percentage distances are defined in terms of
    viewBox diagonal length divided by sqrt(2) (normalized).
    
    See https://svgwg.org/svg2-draft/coords.html#Units
    
    Change-Id: I0d2101315d5f6c3333d021251eff17f6c13e804f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175991
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    Tested-by: Jenkins

diff --git a/svgio/source/svgreader/SvgNumber.cxx 
b/svgio/source/svgreader/SvgNumber.cxx
index 72a44dbdd032..35293beee197 100644
--- a/svgio/source/svgreader/SvgNumber.cxx
+++ b/svgio/source/svgreader/SvgNumber.cxx
@@ -107,12 +107,8 @@ double SvgNumber::solve(const InfoProvider& rInfoProvider, 
NumberType aNumberTyp
             else // length
             {
                 // it's a length, relative to sqrt((w^2 + h^2)/2)
-                const double fCurrentWidth(aViewPort.getWidth());
-                const double fCurrentHeight(aViewPort.getHeight());
-                const double fCurrentLength(
-                    sqrt((fCurrentWidth * fCurrentWidth + fCurrentHeight * 
fCurrentHeight)/2.0));
-
-                fRetval *= fCurrentLength;
+                const double fDiagLength(std::hypot(aViewPort.getWidth(), 
aViewPort.getHeight()));
+                fRetval *= fDiagLength / M_SQRT2;
             }
         }
 
  • core.git: svgio/source Mike Kaganski (via logerrit)

Reply via email to