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.
15 #include "lyxgluelength.h"
22 /// A class representing latex vertical spacing
25 /// The different kinds of spaces.
32 LENGTH
///< user-defined length
37 explicit VSpace(vspace_kind k
);
39 explicit VSpace(LyXLength
const & l
);
41 explicit VSpace(LyXGlueLength
const & l
);
43 /// Constructor for reading from a .lyx file
44 explicit VSpace(std::string
const & data
);
46 /// return the type of vertical space
47 vspace_kind
kind() const;
48 /// return the length of this space
49 LyXGlueLength
const & length() const;
51 // a flag that switches between \vspace and \vspace*
53 /// if set true, use \vspace* when type is not DEFSKIP
54 void setKeep(bool val
);
56 bool operator==(VSpace
const &) const;
60 /// how it goes into the LyX file
61 std::string
const asLyXCommand() const;
62 /// the latex representation
63 std::string
const asLatexCommand(BufferParams
const & params
) const;
64 /// the size of the space on-screen
65 int inPixels(BufferView
const & bv
) const;
70 /// the specified length
72 /// if true, use \vspace* type