4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Matthias Ettrich
9 * Full author contact details are available in file CREDITS.
25 /// A class representing latex vertical spacing
28 /// The different kinds of spaces.
35 LENGTH ///< user-defined length
40 explicit VSpace(vspace_kind k);
42 explicit VSpace(Length const & l);
44 explicit VSpace(GlueLength const & l);
46 /// Constructor for reading from a .lyx file
47 explicit VSpace(std::string const & data);
49 /// return the type of vertical space
50 vspace_kind kind() const;
51 /// return the length of this space
52 GlueLength const & length() const;
54 // a flag that switches between \vspace and \vspace*
56 /// if set true, use \vspace* when type is not DEFSKIP
57 void setKeep(bool val);
59 bool operator==(VSpace const &) const;
63 /// how it goes into the LyX file
64 std::string const asLyXCommand() const;
65 /// the latex representation
66 std::string const asLatexCommand(BufferParams const & params) const;
67 /// how it is seen in the LyX window
68 docstring const asGUIName() const;
69 /// the size of the space on-screen
70 int inPixels(BufferView const & bv) const;
75 /// the specified length
77 /// if true, use \vspace* type