* Licence details can be found in the file COPYING.
*
* \author Matthias Ettrich
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
* \author Angus Leeming
* \author John Levon
#include <config.h>
#include "Length.h"
-#include "lengthcommon.h"
#include "LyXRC.h"
#include "support/docstream.h"
+
#include <sstream>
#include <iomanip>
+using namespace std;
namespace lyx {
-using std::ostringstream;
-using std::string;
-
/////////////////////////////////////////////////////////////////////
//
}
+void Length::swap(Length & rhs)
+{
+ std::swap(val_, rhs.val_);
+ std::swap(unit_, rhs.unit_);
+}
+
+
string const Length::asString() const
{
ostringstream os;
? em_width_base
: 10*(dpi/72.27)*zoom;
// A different estimate for em_width is
- // theFontMetrics(Font(Font::ALL_SANE)).width('M')
+ // theFontMetrics(FontInfo(sane_font)).width('M')
// but this estimate might not be more accurate as the screen font
// is different then the latex font.
}
+Length::UNIT Length::defaultUnit()
+{
+ // FIXME user a proper pref, since we should get rid of
+ // default_papersize in lyxrc.
+ UNIT u = Length::CM;
+ switch (lyxrc.default_papersize) {
+ case PAPER_USLETTER:
+ case PAPER_USLEGAL:
+ case PAPER_USEXECUTIVE:
+ u = Length::IN;
+ break;
+ default:
+ break;
+ }
+
+ return u;
+}
+
+
+
bool operator==(Length const & l1, Length const & l2)
{
return l1.value() == l2.value() && l1.unit() == l2.unit();