X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgraphics%2FGraphicsParams.cpp;h=f23c1f49ee0cd8ffd00148e31dd4195f651c7cea;hb=e0e548217eb7b3c8728a1af17aa42be496b91281;hp=e5c9b3d24f75fb4302737ff6307076159b552b5e;hpb=06254d11dfdf670fab3548dc2a2674e7a261262c;p=lyx.git diff --git a/src/graphics/GraphicsParams.cpp b/src/graphics/GraphicsParams.cpp index e5c9b3d24f..f23c1f49ee 100644 --- a/src/graphics/GraphicsParams.cpp +++ b/src/graphics/GraphicsParams.cpp @@ -12,8 +12,7 @@ #include "GraphicsParams.h" -#include "Length.h" - +#include #include using namespace std; @@ -22,10 +21,10 @@ namespace lyx { namespace graphics { Params::Params() - : display(ColorDisplay), + : display(true), scale(100), - angle(0), - icon("") + pixel_ratio(1.0), + angle(0) {} @@ -35,8 +34,8 @@ bool operator==(Params const & a, Params const & b) a.display == b.display && a.bb == b.bb && a.scale == b.scale && - a.angle == b.angle && - a.icon == b.icon); + a.pixel_ratio == b.pixel_ratio && + a.angle == b.angle); } @@ -48,18 +47,17 @@ bool operator!=(Params const & a, Params const & b) ostream & operator<<(ostream & os, BoundingBox const & bb) { - os << bb.xl << ' ' << bb.yb << ' ' << bb.xr << ' ' << bb.yt; + os << bb.xl.asString() << ' ' << bb.yb.asString() << ' ' + << bb.xr.asString() << ' ' << bb.yt.asString(); return os; } BoundingBox::BoundingBox() - : xl(0), yb(0), xr(0), yt(0) {} BoundingBox::BoundingBox(string const & bb) - : xl(0), yb(0), xr(0), yt(0) { if (bb.empty()) return; @@ -68,14 +66,22 @@ BoundingBox::BoundingBox(string const & bb) string a, b, c, d; is >> a >> b >> c >> d; + Length xl_tmp = Length(a); + if (xl_tmp.value() < 0) + xl_tmp = Length(-xl_tmp.value(), xl_tmp.unit()); + Length yb_tmp = Length(b); + if (yb_tmp.value() < 0) + yb_tmp = Length(-yb_tmp.value(), yb_tmp.unit()); + Length xr_tmp = Length(c); + if (xr_tmp.value() < 0) + xr_tmp = Length(-xr_tmp.value(), xr_tmp.unit()); + Length yt_tmp = Length(d); + if (yt_tmp.value() < 0) + yt_tmp = Length(-yt_tmp.value(), yt_tmp.unit()); + // inBP returns the length in Postscript points. // Note further that there are 72 Postscript pixels per inch. - unsigned int const xl_tmp = abs(Length(a).inBP()); - unsigned int const yb_tmp = abs(Length(b).inBP()); - unsigned int const xr_tmp = abs(Length(c).inBP()); - unsigned int const yt_tmp = abs(Length(d).inBP()); - - if (xr_tmp <= xl_tmp || yt_tmp <= yb_tmp) + if (xr_tmp.inBP() <= xl_tmp.inBP() || yt_tmp.inBP() <= yb_tmp.inBP()) return; xl = xl_tmp; @@ -87,7 +93,7 @@ BoundingBox::BoundingBox(string const & bb) bool BoundingBox::empty() const { - return (!xl && !yb && !xr && !yt); + return xl.zero() && yb.zero() && xr.zero() && yt.zero(); }