]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetLine.cpp
Restore XHTML output for InsetLine.
[lyx.git] / src / insets / InsetLine.cpp
index 73e8fc216c1bb1df4c8f4c3a08c7c6987d2f9441..b2fc3b6ab0e8ea9d5ddcb1205c741dcbce8ac98b 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
 
 #include "InsetLine.h"
 
-#include "debug.h"
-#include "LColor.h"
-#include "LyXText.h"
-#include "MetricsInfo.h"
+#include "Dimension.h"
+#include "Font.h"
 #include "LaTeXFeatures.h"
+#include "MetricsInfo.h"
 #include "OutputParams.h"
+#include "output_xhtml.h"
+#include "Text.h"
 
 #include "frontends/Painter.h"
 
+#include "support/debug.h"
+#include "support/docstream.h"
+
+
+
+using namespace std;
 
 namespace lyx {
 
 using frontend::Painter;
 
-using std::endl;
-using std::ostream;
 
-
-void InsetLine::read(Buffer const &, Lexer &)
+void InsetLine::read(Lexer &)
 {
        /* Nothing to read */
 }
 
 
-void InsetLine::write(Buffer const &, ostream & os) const
+void InsetLine::write(ostream & os) const
 {
        os << "\n\\lyxline\n";
 }
 
 
-bool InsetLine::metrics(MetricsInfo & mi, Dimension & dim) const
+void InsetLine::metrics(MetricsInfo & mi, Dimension & dim) const
 {
        dim.asc = 3;
        dim.des = 3;
        dim.wid = mi.base.textwidth;
-       bool const changed = dim_ != dim;
-       dim_ = dim;
-       return changed;
+       // Cache the inset dimension. 
+       setDimCache(mi, dim);
 }
 
 
 void InsetLine::draw(PainterInfo & pi, int x, int y) const
 {
-       pi.pain.line(x, y, x + dim_.wid, y, LColor::topline, Painter::line_solid,
-                       Painter::line_thick);
+       Dimension const dim = dimension(*pi.base.bv);
+       pi.pain.line(x, y, x + dim.wid, y, Color_topline,
+               Painter::line_solid, Painter::line_thick);
 }
 
 
-int InsetLine::latex(Buffer const &, odocstream & os,
-                     OutputParams const & runparams) const
+int InsetLine::latex(odocstream & os, OutputParams const & runparams) const
 {
        os << "\\lyxline{\\"
           << from_ascii(runparams.local_font->latexSize()) << '}';
@@ -69,22 +72,28 @@ int InsetLine::latex(Buffer const &, odocstream & os,
 }
 
 
-int InsetLine::plaintext(Buffer const &, odocstream & os,
-                         OutputParams const &) const
+int InsetLine::plaintext(odocstream & os, OutputParams const &) const
 {
        os << "\n-------------------------------------------\n";
        return PLAINTEXT_NEWLINE;
 }
 
 
-int InsetLine::docbook(Buffer const &, odocstream & os,
-                      OutputParams const &) const
+int InsetLine::docbook(odocstream & os, OutputParams const &) const
 {
        os << '\n';
        return 0;
 }
 
 
+docstring InsetLine::xhtml(XHTMLStream & xs, OutputParams const &) const
+{
+       xs << CompTag("hr");
+       xs.cr();
+       return docstring();
+}
+
+
 void InsetLine::validate(LaTeXFeatures & features) const
 {
        features.require("lyxline");