X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxlength.h;h=78416cbefd35de1b9b281b30f5044440a0dd7b6b;hb=37e82a546392d43f787826b85481a11f2a27af15;hp=1d84408fbce3a65a297925d224c87ec36ec48394;hpb=af9352a2e7213022c3c7db834184a0da3af2d48a;p=lyx.git diff --git a/src/lyxlength.h b/src/lyxlength.h index 1d84408fbc..78416cbefd 100644 --- a/src/lyxlength.h +++ b/src/lyxlength.h @@ -1,21 +1,21 @@ // -*- C++ -*- /** * \file lyxlength.h - * Copyright 1995-2002 the LyX Team - * Read the file COPYING + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * * \author Matthias Ettrich + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author John Levon + * + * Full author contact details are available in file CREDITS. */ - #ifndef LYX_LENGTH_H #define LYX_LENGTH_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include "LString.h" +#include /** * LyXLength - Represents latex length measurement @@ -36,12 +36,12 @@ public: EX, ///< Height of a small "x" for the current font. EM, ///< Width of capital "M" in current font. MU, ///< Math unit (18mu = 1em) for positioning in math mode - PW, ///< Percent of columnwidth - PE, ///< Percent of textwidth - PP, ///< Percent of pagewidth - PL, ///< Percent of linewidth - TH, ///< Percent of textheight // Herbert 2002-05-16 - PH, ///< Percent of paperheight // Herbert 2002-05-16 + PTW, //< Percent of TextWidth + PCW, //< Percent of ColumnWidth + PPW, //< Percent of PageWidth + PLW, //< Percent of LineWidth + PTH, //< Percent of TextHeight // Herbert 2002-05-16 + PPH, //< Percent of PaperHeight // Herbert 2002-05-16 UNIT_NONE ///< no unit }; @@ -51,7 +51,13 @@ public: LyXLength(double v, LyXLength::UNIT u); /// "data" must be a decimal number, followed by a unit - explicit LyXLength(string const & data); + explicit LyXLength(std::string const & data); + + void swap(LyXLength & rhs) + { + std::swap(val_, rhs.val_); + std::swap(unit_, rhs.unit_); + } /// double value() const; @@ -63,18 +69,18 @@ public: void unit(LyXLength::UNIT unit); /// bool zero() const; + /// + bool empty() const; /// return string representation - string const asString() const; + std::string const asString() const; /// return string representation for LaTeX - string const asLatexString() const; + std::string const asLatexString() const; /// return the on-screen size of this length - int inPixels(int default_width, int default_height) const; + int inPixels(int text_width, int em_width = 0) const; /// return the on-screen size of this length of an image int inBP() const; - /** If "data" is valid, the length represented by it is - stored into "result", if that is not 0. */ - friend bool isValidLength(string const & data, LyXLength * result = 0); + friend bool isValidLength(std::string const & data, LyXLength * result); private: /// @@ -87,8 +93,9 @@ private: bool operator==(LyXLength const & l1, LyXLength const & l2); /// bool operator!=(LyXLength const & l1, LyXLength const & l2); -/// -bool isValidLength(string const & data, LyXLength * result); +/** If "data" is valid, the length represented by it is + stored into "result", if that is not 0. */ +bool isValidLength(std::string const & data, LyXLength * result = 0); /// return the name of the given unit number char const * stringFromUnit(int unit);