4 * Copyright 1995-2002 the LyX Team
5 * Read the file COPYING
7 * \author Matthias Ettrich
17 #include "lyxgluelength.h"
25 /// A class representing latex vertical spacing
28 /// The different kinds of spaces.
30 NONE, ///< no added vertical space
36 LENGTH ///< user-defined length
41 explicit VSpace(vspace_kind k);
43 explicit VSpace(LyXLength const & l);
45 explicit VSpace(LyXGlueLength const & l);
47 /// Constructor for reading from a .lyx file
48 explicit VSpace(string const & data);
50 /// return the type of vertical space
51 vspace_kind kind() const;
52 /// return the length of this space
53 LyXGlueLength length() const;
55 // a flag that switches between \vspace and \vspace*
57 /// if set true, use \vspace* when type is not DEFSKIP
58 void setKeep(bool val);
60 bool operator==(VSpace const &) const;
64 /// how it goes into the LyX file
65 string const asLyXCommand() const;
66 /// the latex representation
67 string const asLatexCommand(BufferParams const & params) const;
68 /// the size of the space on-screen
69 int inPixels(BufferView * bv) const;
73 /// the specified length
75 /// if true, use \vspace* type