commit 1766bff80644a74aaa731c5740074d321139780f
Author: Thibaut Cuvelier <tcuvel...@lyx.org>
Date:   Thu Nov 5 05:35:34 2020 +0100

    DocBook: remove special options from InsetGraphics.cpp
    
    This was not really a useful attribute for DocBook, or it must be parsed 
beforehand.
---
 src/insets/InsetGraphics.cpp |  118 ++++++++++++++++++++----------------------
 1 files changed, 57 insertions(+), 61 deletions(-)

diff --git a/src/insets/InsetGraphics.cpp b/src/insets/InsetGraphics.cpp
index ff4ac6e..0631bb4 100644
--- a/src/insets/InsetGraphics.cpp
+++ b/src/insets/InsetGraphics.cpp
@@ -450,56 +450,56 @@ docstring InsetGraphics::toDocbookLength(Length const & 
len) const
 {
        odocstringstream result;
        switch (len.unit()) {
-               case Length::SP: // Scaled point (65536sp = 1pt) TeX's smallest 
unit.
-                       result << len.value() * 65536.0 * 72 / 72.27 << "pt";
-                       break;
-               case Length::PT: // Point = 1/72.27in = 0.351mm
-                       result << len.value() * 72 / 72.27 << "pt";
-                       break;
-               case Length::BP: // Big point (72bp = 1in), also PostScript 
point
-                       result << len.value() << "pt";
-                       break;
-               case Length::DD: // Didot point = 1/72 of a French inch, = 
0.376mm
-                       result << len.value() * 0.376 << "mm";
-                       break;
-               case Length::MM: // Millimeter = 2.845pt
-                       result << len.value() << "mm";
-                       break;
-               case Length::PC: // Pica = 12pt = 4.218mm
-                       result << len.value() << "pc";
-                       break;
-               case Length::CC: // Cicero = 12dd = 4.531mm
-                       result << len.value() * 4.531 << "mm";
-                       break;
-               case Length::CM: // Centimeter = 10mm = 2.371pc
-                       result << len.value() << "cm";
-                       break;
-               case Length::IN: // Inch = 25.4mm = 72.27pt = 6.022pc
-                       result << len.value() << "in";
-                       break;
-               case Length::EX: // Height of a small "x" for the current font.
-                       // Obviously we have to compromise here. Any better 
ratio than 1.5 ?
-                       result << len.value() / 1.5 << "em";
-                       break;
-               case Length::EM: // Width of capital "M" in current font.
-                       result << len.value() << "em";
-                       break;
-               case Length::MU: // Math unit (18mu = 1em) for positioning in 
math mode
-                       result << len.value() * 18 << "em";
-                       break;
-               case Length::PTW: // Percent of TextWidth
-               case Length::PCW: // Percent of ColumnWidth
-               case Length::PPW: // Percent of PageWidth
-               case Length::PLW: // Percent of LineWidth
-               case Length::PTH: // Percent of TextHeight
-               case Length::PPH: // Percent of PaperHeight
-               case Length::BLS: // Percent of BaselineSkip
-                       // Sigh, this will go wrong.
-                       result << len.value() << "%";
-                       break;
-               default:
-                       result << len.asDocstring();
-                       break;
+       case Length::SP: // Scaled point (65536sp = 1pt) TeX's smallest unit.
+               result << len.value() * 65536.0 * 72 / 72.27 << "pt";
+               break;
+       case Length::PT: // Point = 1/72.27in = 0.351mm
+               result << len.value() * 72 / 72.27 << "pt";
+               break;
+       case Length::BP: // Big point (72bp = 1in), also PostScript point
+               result << len.value() << "pt";
+               break;
+       case Length::DD: // Didot point = 1/72 of a French inch, = 0.376mm
+               result << len.value() * 0.376 << "mm";
+               break;
+       case Length::MM: // Millimeter = 2.845pt
+               result << len.value() << "mm";
+               break;
+       case Length::PC: // Pica = 12pt = 4.218mm
+               result << len.value() << "pc";
+               break;
+       case Length::CC: // Cicero = 12dd = 4.531mm
+               result << len.value() * 4.531 << "mm";
+               break;
+       case Length::CM: // Centimeter = 10mm = 2.371pc
+               result << len.value() << "cm";
+               break;
+       case Length::IN: // Inch = 25.4mm = 72.27pt = 6.022pc
+               result << len.value() << "in";
+               break;
+       case Length::EX: // Height of a small "x" for the current font.
+               // Obviously we have to compromise here. Any better ratio than 
1.5 ?
+               result << len.value() / 1.5 << "em";
+               break;
+       case Length::EM: // Width of capital "M" in current font.
+               result << len.value() << "em";
+               break;
+       case Length::MU: // Math unit (18mu = 1em) for positioning in math mode
+               result << len.value() * 18 << "em";
+               break;
+       case Length::PTW: // Percent of TextWidth
+       case Length::PCW: // Percent of ColumnWidth
+       case Length::PPW: // Percent of PageWidth
+       case Length::PLW: // Percent of LineWidth
+       case Length::PTH: // Percent of TextHeight
+       case Length::PPH: // Percent of PaperHeight
+       case Length::BLS: // Percent of BaselineSkip
+               // Sigh, this will go wrong.
+               result << len.value() << "%";
+               break;
+       default:
+               result << len.asDocstring();
+               break;
        }
        return result.str();
 }
@@ -511,27 +511,23 @@ docstring InsetGraphics::createDocBookAttributes() const
        // stream since we copied the code from createLatexParams() ;-)
 
        odocstringstream options;
-       double const scl = convert<double>(params().scale);
+       auto const scl = convert<double>(params().scale);
        if (!params().scale.empty() && !float_equal(scl, 0.0, 0.05)) {
                if (!float_equal(scl, 100.0, 0.05))
                        options << " scale=\""
-                               << support::iround(scl)
-                               << "\" ";
+                                   << support::iround(scl)
+                                   << "\" ";
        } else {
-               if (!params().width.zero()) {
+               if (!params().width.zero())
                        options << " width=\"" << 
toDocbookLength(params().width)  << "\" ";
-               }
-               if (!params().height.zero()) {
+               if (!params().height.zero())
                        options << " depth=\"" << 
toDocbookLength(params().height)  << "\" ";
-               }
-               if (params().keepAspectRatio) {
+               if (params().keepAspectRatio)
                        // This will be irrelevant unless both width and height 
are set
                        options << "scalefit=\"1\" ";
-               }
        }
 
-       if (!params().special.empty())
-               options << from_ascii(params().special) << " ";
+       // TODO: parse params().special?
 
        // trailing blanks are ok ...
        return options.str();
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to