-inline
-bool operator==(LyXLength const & l1, LyXLength const & l2)
-{
- return l1.value() == l2.value()
- && l1.unit() == l2.unit();
-}
-
-///
-extern LyXLength::UNIT unitFromString (string const & data);
-///
-extern bool isValidLength(string const & data, LyXLength * result);
-///
-extern const char * stringFromUnit(int unit);
-
-/// LyXGlueLength class
-class LyXGlueLength : public LyXLength {
-public:
- ///
- LyXGlueLength(float v,
- LyXLength::UNIT u,
- float pv = 0.0,
- LyXLength::UNIT pu = LyXLength::UNIT_NONE,
- float mv = 0.0,
- LyXLength::UNIT mu = LyXLength::UNIT_NONE)
- : LyXLength (v, u),
- plus_val(pv), minus_val(mv),
- plus_uni(pu), minus_uni(mu) {}
-
- /** "data" must be a decimal number, followed by a unit, and
- optional "glue" indicated by "+" and "-". You may abbreviate
- reasonably. Examples:
- 1.2 cm // 4mm +2pt // 2cm -4mm +2mm // 4+0.1-0.2cm
- The traditional Latex format is also accepted, like
- 4cm plus 10pt minus 10pt */
- explicit
- LyXGlueLength(string const & data);
-
- ///
- float plusValue() const { return plus_val; }
- ///
- LyXLength::UNIT plusUnit() const { return plus_uni; }
- ///
- float minusValue() const { return minus_val; }
- ///
- LyXLength::UNIT minusUnit() const { return minus_uni; }
-
- /// conversion
- virtual string const asString() const;
- ///
- virtual string const asLatexString() const;
-
-
- /** If "data" is valid, the length represented by it is
- stored into "result", if that is not 0. */
- friend bool isValidGlueLength(string const & data,
- LyXGlueLength* result = 0);
-
-protected:
- ///
- float plus_val;
- ///
- float minus_val;
- ///
- LyXLength::UNIT plus_uni;
- ///
- LyXLength::UNIT minus_uni;
-};
-
-///
-inline
-bool operator==(LyXGlueLength const & l1, LyXGlueLength const & l2)
-{
- return l1.value() == l2.value()
- && l1.unit() == l2.unit()
- && l1.plusValue() == l2.plusValue()
- && l1.plusUnit() == l2.plusUnit()
- && l1.minusValue() == l2.minusValue()
- && l1.minusUnit() == l2.minusUnit();
-}
-
-
-///
-extern bool isValidGlueLength(string const & data, LyXGlueLength * result);
-
-/// VSpace class