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 Inset {
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')
56 void dimension(BufferView *, LyXFont const &, Dimension &) const;
58 void draw(BufferView *, LyXFont const &, int, float &) const;
60 void write(Buffer const *, std::ostream &) const;
61 /// Will not be used when lyxf3
62 void read(Buffer const *, LyXLex & lex);
64 int latex(Buffer const *, std::ostream &,
65 LatexRunParams const &) const;
67 int ascii(Buffer const *, std::ostream &, int linelen) const;
69 int linuxdoc(Buffer const *, std::ostream &) const;
71 int docbook(Buffer const *, std::ostream &, bool mixcont) const;
73 virtual Inset * clone(Buffer const &) const;
75 //virtual Inset * clone(Buffer const &, bool same_id) const;
77 Inset::Code lyxCode() const { return Inset::SPACE_CODE; }
78 /// We don't need \begin_inset and \end_inset
79 bool directWrite() const { return true; }
81 // should this inset be handled like a normal charater
83 /// is this equivalent to a letter?
84 bool isLetter() const;
85 /// is this equivalent to a space (which is BTW different from
88 // should we break lines after this inset?
89 bool isLineSeparator() const;
91 /// And which kind is this?
95 #endif // INSET_SPACE_H