X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLength.h;h=67073a2bf1d05ee1ab21b9f4b781fbca7442cb7f;hb=4a75fe0310ac64a079edab0c07d8f8eebaf519c0;hp=725943503c016f364241fc32788dce0ebb547b8d;hpb=897436efbb9bd641b61467d185a2dfae9839e575;p=lyx.git diff --git a/src/Length.h b/src/Length.h index 725943503c..67073a2bf1 100644 --- a/src/Length.h +++ b/src/Length.h @@ -12,10 +12,10 @@ * Full author contact details are available in file CREDITS. */ -#ifndef LYX_LENGTH_H -#define LYX_LENGTH_H +#ifndef LENGTH_H +#define LENGTH_H -#include "support/docstring.h" +#include "support/strfwd.h" namespace lyx { @@ -67,12 +67,8 @@ public: /// "data" must be a decimal number, followed by a unit explicit Length(std::string const & data); - void swap(Length & rhs) - { - std::swap(val_, rhs.val_); - std::swap(unit_, rhs.unit_); - } - + /// + void swap(Length & rhs); /// double value() const; /// @@ -93,14 +89,14 @@ public: std::string const asLatexString() const; /// return the on-screen size of this length int inPixels(int text_width, int em_width = 0) const; - /// return the on-screen size of this length of an image + /// return the value in Big Postscript points. int inBP() const; friend bool isValidLength(std::string const & data, Length * result); private: /// - double val_; + double val_; /// Length::UNIT unit_; }; @@ -182,6 +178,21 @@ bool operator!=(GlueLength const & l1, GlueLength const & l2); stored into "result", if that is not 0. */ bool isValidGlueLength(std::string const & data, GlueLength * result = 0); +/// the number of units possible +extern int const num_units; + +/** + * array of unit names + * + * FIXME: I am not sure if "mu" should be possible to select (Lgb) + */ +extern char const * const unit_name[]; +extern char const * const unit_name_gui[]; + +/// return the unit given a string representation such as "cm" +Length::UNIT unitFromString(std::string const & data); + + } // namespace lyx -#endif // LYXLENGTH_H +#endif // LENGTH_H