* 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 "Color.h"
-#include "Text.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::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";
}
dim.asc = 3;
dim.des = 3;
dim.wid = mi.base.textwidth;
+ // Cache the inset dimension.
+ setDimCache(mi, dim);
}
void InsetLine::draw(PainterInfo & pi, int x, int y) const
{
- pi.pain.line(x, y, x + pi.base.textwidth, y, Color::topline,
+ 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()) << '}';
}
-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");