include/svx/framelink.hxx | 14 +++++++------- svx/source/dialog/framelink.cxx | 32 ++++++++++++++++---------------- sw/source/core/layout/paintfrm.cxx | 3 ++- 3 files changed, 25 insertions(+), 24 deletions(-)
New commits: commit 9fb9fc301502c2762ad4a8059d8d1c818d2843db Author: Michael Stahl <[email protected]> Date: Thu Feb 20 12:32:51 2014 +0100 fdo#75118: actually these are floats, compare with approxEqual Change-Id: Ib195af3ebd5f602761d1660abb1798d72d0f352d diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 169a358..8fa85c6 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -2596,7 +2596,8 @@ void SwTabFrmPainter::PaintLines(OutputDevice& rDev, const SwRect& rRect) const aPaintStart.Y() -= nTwipYCorr; aPaintEnd.Y() -= nTwipYCorr; - if (aStyles[0].Prim() <= 0 && aStyles[0].Secn() <= 0) + if (::rtl::math::approxEqual(aStyles[0].Prim(), 0.0) && + ::rtl::math::approxEqual(aStyles[0].Secn(), 0.0)) { continue; // fdo#75118 do not paint zero-width lines } commit c96da60124652bac4bd8d2ebf18be67e1365d89d Author: Michael Stahl <[email protected]> Date: Thu Feb 20 12:05:52 2014 +0100 svx::frame::Style::Set(): typo: subtract if it's _not_ 0 (regression from 2c91cb08d65cd35fa8ef6eaca3677aa82fb58cbe) Change-Id: I9803b630067de26503fceb32b5d7c6a46f352a7a diff --git a/svx/source/dialog/framelink.cxx b/svx/source/dialog/framelink.cxx index b220a08..52a992f 100644 --- a/svx/source/dialog/framelink.cxx +++ b/svx/source/dialog/framelink.cxx @@ -1229,7 +1229,7 @@ void Style::Set( const SvxBorderLine& rBorder, double fScale, sal_uInt16 nMaxWid // Still too thick? Decrease the line widths. if( GetWidth() > nMaxWidth ) { - if (rtl::math::approxEqual(mfPrim, 0.0) && rtl::math::approxEqual(mfPrim, mfSecn)) + if (!rtl::math::approxEqual(mfPrim, 0.0) && rtl::math::approxEqual(mfPrim, mfSecn)) { // Both lines equal - decrease both to keep symmetry. --mfPrim; commit 474b2ff232591442fb22363c82abc66e7e2101a0 Author: Michael Stahl <[email protected]> Date: Thu Feb 20 11:51:43 2014 +0100 svx: these Style members are floats Change-Id: Id1a5e363c8c39b3ad9e61f9b914461d15f5c3028 diff --git a/include/svx/framelink.hxx b/include/svx/framelink.hxx index afae83e..b8f2bfc 100644 --- a/include/svx/framelink.hxx +++ b/include/svx/framelink.hxx @@ -124,14 +124,14 @@ public: inline const Color& GetColorSecn() const { return maColorSecn; } inline const Color& GetColorGap() const { return maColorGap; } inline bool UseGapColor() const { return mbUseGapColor; } - inline double Prim() const { return mnPrim; } - inline double Dist() const { return mnDist; } - inline double Secn() const { return mnSecn; } + inline double Prim() const { return mfPrim; } + inline double Dist() const { return mfDist; } + inline double Secn() const { return mfSecn; } double Scale() const; inline editeng::SvxBorderStyle Type() const { return mnType; } /** Returns the total width of this frame style. */ - inline double GetWidth() const { return mnPrim + mnDist + mnSecn; } + inline double GetWidth() const { return mfPrim + mfDist + mfSecn; } /** Sets the frame style to invisible state. */ void Clear(); @@ -165,9 +165,9 @@ private: Color maColorGap; bool mbUseGapColor; RefMode meRefMode; /// Reference point handling for this frame border. - double mnPrim; /// Width of primary (single, left, or top) line. - double mnDist; /// Distance between primary and secondary line. - double mnSecn; /// Width of secondary (right or bottom) line. + double mfPrim; /// Width of primary (single, left, or top) line. + double mfDist; /// Distance between primary and secondary line. + double mfSecn; /// Width of secondary (right or bottom) line. double mfScale; editeng::SvxBorderStyle mnType; }; diff --git a/svx/source/dialog/framelink.cxx b/svx/source/dialog/framelink.cxx index 8268374..b220a08 100644 --- a/svx/source/dialog/framelink.cxx +++ b/svx/source/dialog/framelink.cxx @@ -1176,16 +1176,16 @@ void Style::Clear() void Style::Set( double nP, double nD, double nS ) { - /* nP nD nS -> mnPrim mnDist mnSecn + /* nP nD nS -> mfPrim mfDist mfSecn -------------------------------------- any any 0 nP 0 0 0 any >0 nS 0 0 >0 0 >0 nP 0 0 >0 >0 >0 nP nD nS */ - mnPrim = rtl::math::round(nP ? nP : nS, 2); - mnDist = rtl::math::round((nP && nS) ? nD : 0, 2); - mnSecn = rtl::math::round((nP && nD) ? nS : 0, 2); + mfPrim = rtl::math::round(nP ? nP : nS, 2); + mfDist = rtl::math::round((nP && nS) ? nD : 0, 2); + mfSecn = rtl::math::round((nP && nD) ? nS : 0, 2); } void Style::Set( const Color& rColorPrim, const Color& rColorSecn, const Color& rColorGap, bool bUseGapColor, double nP, double nD, double nS ) @@ -1219,29 +1219,29 @@ void Style::Set( const SvxBorderLine& rBorder, double fScale, sal_uInt16 nMaxWid // Enlarge the style if distance is too small due to rounding losses. double nPixWidth = SCALEVALUE( nPrim + nDist + nSecn ); if( nPixWidth > GetWidth() ) - mnDist = nPixWidth - mnPrim - mnSecn; + mfDist = nPixWidth - mfPrim - mfSecn; // Shrink the style if it is too thick for the control. while( GetWidth() > nMaxWidth ) { // First decrease space between lines. - if( mnDist ) - --mnDist; + if (mfDist) + --mfDist; // Still too thick? Decrease the line widths. if( GetWidth() > nMaxWidth ) { - if( rtl::math::approxEqual(mnPrim, 0.0) && rtl::math::approxEqual(mnPrim, mnSecn) ) + if (rtl::math::approxEqual(mfPrim, 0.0) && rtl::math::approxEqual(mfPrim, mfSecn)) { // Both lines equal - decrease both to keep symmetry. - --mnPrim; - --mnSecn; + --mfPrim; + --mfSecn; } else { // Decrease each line for itself - if( mnPrim ) - --mnPrim; - if( (GetWidth() > nMaxWidth) && !rtl::math::approxEqual(mnSecn, 0.0) ) - --mnSecn; + if (mfPrim) + --mfPrim; + if ((GetWidth() > nMaxWidth) && !rtl::math::approxEqual(mfSecn, 0.0)) + --mfSecn; } } } @@ -1261,8 +1261,8 @@ void Style::Set( const SvxBorderLine* pBorder, double fScale, sal_uInt16 nMaxWid Style& Style::MirrorSelf() { - if( mnSecn ) - std::swap( mnPrim, mnSecn ); + if (mfSecn) + std::swap( mfPrim, mfSecn ); if( meRefMode != REFMODE_CENTERED ) meRefMode = (meRefMode == REFMODE_BEGIN) ? REFMODE_END : REFMODE_BEGIN; return *this; _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
