3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS.
13 #include "InsetHFill.h"
15 #include "MetricsInfo.h"
17 #include "frontends/Painter.h"
19 #include "support/gettext.h"
28 InsetHFill::InsetHFill()
29 : InsetCommand(InsetCommandParams(HFILL_CODE), string())
33 CommandInfo const * InsetHFill::findInfo(string const & /* cmdName */)
35 static const char * const paramnames[] = {""};
36 static const CommandInfo info = {0, paramnames, 0};
41 Inset * InsetHFill::clone() const
43 return new InsetHFill;
47 void InsetHFill::metrics(MetricsInfo &, Dimension & dim) const
49 // The metrics for this inset are calculated externally in
50 // \c TextMetrics::computeRowMetrics. Those are dummy value:
51 dim = Dimension(10, 10, 10);
55 void InsetHFill::draw(PainterInfo & pi, int x, int y) const
57 Dimension const dim = Inset::dimension(*pi.base.bv);
59 int const x1 = x + dim.wid - 2;
60 int const y0 = y + dim.des - 1;
61 int const y1 = y - dim.asc + 1;
63 pi.pain.line(x0, y1, x0, y0, Color_added_space);
64 pi.pain.line(x0, y, x1, y, Color_added_space,
65 frontend::Painter::line_onoffdash);
66 pi.pain.line(x1, y1, x1, y0, Color_added_space);
70 docstring const InsetHFill::getScreenLabel(Buffer const &) const
72 return _("Horizontal Fill");
76 int InsetHFill::plaintext(Buffer const &, odocstream & os,
77 OutputParams const &) const
84 int InsetHFill::docbook(Buffer const &, odocstream & os,
85 OutputParams const &) const
92 void InsetHFill::write(Buffer const &, ostream & os) const
98 bool InsetHFill::isSpace() const