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 Jürgen Spitzmüller
12 * Full author contact details are available in file CREDITS.
23 /// Used to insert different kinds of spaces
24 class InsetSpace : public InsetOld {
27 /// The different kinds of spaces we support
29 /// Normal space ('\ ')
31 /// Protected (no break) space ('~')
39 /// \enspace (0.5em unbreakable)
41 /// \enspace (0.5em breakable)
43 /// Negative thin space ('\negthinspace')
56 void metrics(MetricsInfo &, Dimension &) const;
58 void draw(PainterInfo & pi, int x, int y) 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 OutputParams const &) const;
67 int plaintext(Buffer const &, std::ostream &,
68 OutputParams const &) const;
70 int linuxdoc(Buffer const &, std::ostream &,
71 OutputParams const &) const;
73 int docbook(Buffer const &, std::ostream &,
74 OutputParams const &) const;
75 /// the string that is passed to the TOC
76 virtual int textString(Buffer const &, std::ostream & os,
77 OutputParams const &) const;
79 InsetBase::Code lyxCode() const { return InsetBase::SPACE_CODE; }
80 /// We don't need \begin_inset and \end_inset
81 bool directWrite() const { return true; }
83 // should this inset be handled like a normal charater
85 /// is this equivalent to a letter?
86 bool isLetter() const;
87 /// is this equivalent to a space (which is BTW different from
91 virtual std::auto_ptr<InsetBase> doClone() const;
93 /// And which kind is this?
97 #endif // INSET_SPACE_H