4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Asger Alstrup Nielsen
8 * \author Jean-Marc Lasgouttes
9 * \author Lars Gullik Bjønnes
10 * \author Juergen Spitzmueller
12 * Full author contact details are available in file CREDITS.
24 /// Used to insert different kinds of spaces
25 class InsetSpace : public InsetOld {
28 /// The different kinds of spaces we support
30 /// Normal space ('\ ')
32 /// Protected (no break) space ('~')
40 /// \enspace (0.5em unbreakable)
42 /// \enspace (0.5em breakable)
44 /// Negative thin space ('\negthinspace')
57 void metrics(MetricsInfo &, Dimension &) const;
59 void draw(PainterInfo & pi, int x, int y) const;
61 void write(Buffer const &, std::ostream &) const;
62 /// Will not be used when lyxf3
63 void read(Buffer const &, LyXLex & lex);
65 int latex(Buffer const &, std::ostream &,
66 LatexRunParams const &) const;
68 int ascii(Buffer const &, std::ostream &, int linelen) const;
70 int linuxdoc(Buffer const &, std::ostream &) const;
72 int docbook(Buffer const &, std::ostream &, bool mixcont) const;
74 virtual std::auto_ptr<InsetBase> clone() const;
76 InsetOld::Code lyxCode() const { return InsetOld::SPACE_CODE; }
77 /// We don't need \begin_inset and \end_inset
78 bool directWrite() const { return true; }
80 // should this inset be handled like a normal charater
82 /// is this equivalent to a letter?
83 bool isLetter() const;
84 /// is this equivalent to a space (which is BTW different from
87 // should we break lines after this inset?
88 bool isLineSeparator() const;
90 /// And which kind is this?
94 #endif // INSET_SPACE_H