[LyX/master] DocBook: remove special options from InsetGraphics.cpp

Thibaut Cuvelier tcuvelier at lyx.org
Thu Nov 5 04:13:28 UTC 2020


commit 1766bff80644a74aaa731c5740074d321139780f
Author: Thibaut Cuvelier <tcuvelier at 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();


More information about the lyx-cvs mailing list