lotuswordpro/inc/lwpoverride.hxx | 6 lotuswordpro/inc/lwptools.hxx | 35 +--- lotuswordpro/source/filter/lwpborderstuff.cxx | 8 - lotuswordpro/source/filter/lwpbulletstylemgr.cxx | 4 lotuswordpro/source/filter/lwpdrawobj.cxx | 144 +++++++++--------- lotuswordpro/source/filter/lwpframelayout.cxx | 13 - lotuswordpro/source/filter/lwpgrfobj.cxx | 20 +- lotuswordpro/source/filter/lwplayout.cxx | 6 lotuswordpro/source/filter/lwplaypiece.hxx | 2 lotuswordpro/source/filter/lwplnopts.cxx | 2 lotuswordpro/source/filter/lwpmargins.hxx | 8 - lotuswordpro/source/filter/lwpoleobject.cxx | 8 - lotuswordpro/source/filter/lwppagelayout.cxx | 8 - lotuswordpro/source/filter/lwpparastyle.cxx | 18 +- lotuswordpro/source/filter/lwprowlayout.cxx | 4 lotuswordpro/source/filter/lwpsdwgrouploaderv0102.cxx | 32 ++-- lotuswordpro/source/filter/lwpshadow.hxx | 4 lotuswordpro/source/filter/lwptable.hxx | 4 lotuswordpro/source/filter/lwptablelayout.cxx | 4 lotuswordpro/source/filter/lwptablelayout.hxx | 2 lotuswordpro/source/filter/lwpverdocument.cxx | 2 21 files changed, 166 insertions(+), 168 deletions(-)
New commits: commit fce1fb034d282dc6e0434bf16c49d5f602d813bd Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sat Apr 13 21:57:01 2024 +0500 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sun Apr 14 06:57:06 2024 +0200 Use more o3tl::convert in lotuswordpro Change-Id: I7ec74dc105f846307f5bf3d3c8cedcc4aebb64a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166058 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/lotuswordpro/inc/lwpoverride.hxx b/lotuswordpro/inc/lwpoverride.hxx index 036492e518d1..688ef9747e65 100644 --- a/lotuswordpro/inc/lwpoverride.hxx +++ b/lotuswordpro/inc/lwpoverride.hxx @@ -438,18 +438,18 @@ inline double LwpIndentOverride::GetFirst() const sal_Int32 nRes; if (o3tl::checked_sub(m_nFirst, m_nRest, nRes)) throw std::range_error("bad len"); - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(nRes)); + return LwpTools::ConvertFromUnits(nRes); } inline double LwpIndentOverride::GetLeft() const { sal_Int32 nRes; if (o3tl::checked_add(m_nAll, m_nRest, nRes)) throw std::range_error("bad len"); - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(nRes)); + return LwpTools::ConvertFromUnits(nRes); } inline double LwpIndentOverride::GetRight() const { - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nRight)); + return LwpTools::ConvertFromUnits(m_nRight); } class LwpBackgroundStuff; diff --git a/lotuswordpro/inc/lwptools.hxx b/lotuswordpro/inc/lwptools.hxx index 753a9bacdd06..398abb2ea578 100644 --- a/lotuswordpro/inc/lwptools.hxx +++ b/lotuswordpro/inc/lwptools.hxx @@ -67,19 +67,11 @@ #include "localtime.hxx" #include "xfilter/xfdatestyle.hxx" #include "xfilter/xftimestyle.hxx" +#include <o3tl/unit_conversion.hxx> #include <rtl/textenc.h> #include <stdexcept> #include <string_view> -// 01/19/2005 -const sal_uInt32 UNITS_PER_INCH = 65536L * 72L; -const double CM_PER_INCH = 2.54; -//end - -const double POINTS_PER_INCH = 72.27; -const double TWIPS_PER_POINT = 20.0; -const double TWIPS_PER_INCH = TWIPS_PER_POINT * POINTS_PER_INCH; -const double TWIPS_PER_CM = TWIPS_PER_INCH/CM_PER_INCH; /** * @brief tool class (unicode, conversion) for lwp filter. */ @@ -91,9 +83,8 @@ public: OUString& str, sal_uInt16 strlen, rtl_TextEncoding aEncoding ); static bool IsUnicodePacked(LwpObjectStream* pObjStrm, sal_uInt16 len); - inline static double ConvertFromUnits(sal_Int32 nUnits); - inline static double ConvertToMetric(double fInch); - inline static double ConvertFromUnitsToMetric(sal_Int32 nUnits); + inline static double ConvertFromUnits(double nUnits); // to cm + inline static double ConvertFromTwips(double nTwips); // to cm inline static bool IsOddNumber(sal_uInt16 nNumber); inline static bool IsEvenNumber(sal_uInt16 nNumber); @@ -106,18 +97,20 @@ public: static std::unique_ptr<XFTimeStyle> GetSystemTimeStyle(); }; -inline double LwpTools::ConvertFromUnits(sal_Int32 nUnits) -{ - return static_cast<double>(nUnits)/UNITS_PER_INCH; -} -inline double LwpTools::ConvertToMetric(double fInch) +// Convert from "units" to centimeters +inline double LwpTools::ConvertFromUnits(double nUnits) { - return fInch*CM_PER_INCH; + constexpr sal_uInt32 UNITS_PER_INCH = 65536 * 72; + constexpr auto mdFromIn = o3tl::getConversionMulDiv(o3tl::Length::in, o3tl::Length::cm); + constexpr o3tl::detail::m_and_d md(mdFromIn.first, mdFromIn.second * UNITS_PER_INCH); + return o3tl::convert(nUnits, md.m, md.d); } -inline double LwpTools::ConvertFromUnitsToMetric(sal_Int32 nUnits) +// Convert from twips to centimeters, using definition of point = 72.27 in +inline double LwpTools::ConvertFromTwips(double nTwips) { - double fInch = ConvertFromUnits(nUnits); - return ConvertToMetric(fInch); + constexpr auto mdFromIn = o3tl::getConversionMulDiv(o3tl::Length::in, o3tl::Length::cm); + constexpr o3tl::detail::m_and_d md(mdFromIn.first * 100, mdFromIn.second * 7227 * 20); + return o3tl::convert(nTwips, md.m, md.d); } inline bool LwpTools::IsOddNumber(sal_uInt16 nNumber) { diff --git a/lotuswordpro/source/filter/lwpborderstuff.cxx b/lotuswordpro/source/filter/lwpborderstuff.cxx index d3aebcdabdb7..cce81e61fc26 100644 --- a/lotuswordpro/source/filter/lwpborderstuff.cxx +++ b/lotuswordpro/source/filter/lwpborderstuff.cxx @@ -198,13 +198,13 @@ float LwpBorderStuff::GetSideWidth(sal_uInt16 side) switch(side) { case LEFT: - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nWidthLeft)); + return LwpTools::ConvertFromUnits(m_nWidthLeft); case RIGHT: - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nWidthRight)); + return LwpTools::ConvertFromUnits(m_nWidthRight); case TOP: - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nWidthTop)); + return LwpTools::ConvertFromUnits(m_nWidthTop); case BOTTOM: - return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nWidthBottom)); + return LwpTools::ConvertFromUnits(m_nWidthBottom); } // FIXME: this is needed to avoid warning: control reaches end of non-void function // a better solution would be to enum value for the parameter side diff --git a/lotuswordpro/source/filter/lwpbulletstylemgr.cxx b/lotuswordpro/source/filter/lwpbulletstylemgr.cxx index edb6910714cc..9a9bca7fec36 100644 --- a/lotuswordpro/source/filter/lwpbulletstylemgr.cxx +++ b/lotuswordpro/source/filter/lwpbulletstylemgr.cxx @@ -163,12 +163,12 @@ OUString LwpBulletStyleMgr::RegisterBulletStyle(LwpPara* pPara, const LwpBulletO if (pIndent->GetMRest() > 0) /* note: used to be 0.001, no idea why */ { pListStyle->SetListPosition(nC, 0.0, - LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(pIndent->GetMRest())), 0.0, eAlign); + LwpTools::ConvertFromUnits(pIndent->GetMRest()), 0.0, eAlign); } else { pListStyle->SetListPosition(nC, 0.0, - 0.0, LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(pIndent->GetMFirst())), eAlign); + 0.0, LwpTools::ConvertFromUnits(pIndent->GetMFirst()), eAlign); } } diff --git a/lotuswordpro/source/filter/lwpdrawobj.cxx b/lotuswordpro/source/filter/lwpdrawobj.cxx index 5b704c1d5065..4e2f9e1387df 100644 --- a/lotuswordpro/source/filter/lwpdrawobj.cxx +++ b/lotuswordpro/source/filter/lwpdrawobj.cxx @@ -256,7 +256,7 @@ void LwpDrawObj::SetLineStyle(XFDrawStyle* pStyle, sal_uInt8 nWidth, sal_uInt8 n } // line width - double fWidth = static_cast<double>(nWidth)/TWIPS_PER_CM; + double fWidth = LwpTools::ConvertFromTwips(nWidth); // line color XFColor aXFColor(rColor.nR, rColor.nG, rColor.nB); @@ -280,10 +280,11 @@ void LwpDrawObj::SetPosition(XFFrame* pObj) fScaleY = m_pTransData->fScaleY; } - pObj->SetPosition(static_cast<double>(m_aObjHeader.nLeft)/TWIPS_PER_CM * fScaleX+ fOffsetX, - static_cast<double>(m_aObjHeader.nTop)/TWIPS_PER_CM * fScaleY + fOffsetY, - static_cast<double>(m_aObjHeader.nRight-m_aObjHeader.nLeft)/TWIPS_PER_CM * fScaleX, - static_cast<double>(m_aObjHeader.nBottom-m_aObjHeader.nTop)/TWIPS_PER_CM * fScaleY); + pObj->SetPosition( + LwpTools::ConvertFromTwips(m_aObjHeader.nLeft) * fScaleX + fOffsetX, + LwpTools::ConvertFromTwips(m_aObjHeader.nTop) * fScaleY + fOffsetY, + LwpTools::ConvertFromTwips(m_aObjHeader.nRight-m_aObjHeader.nLeft) * fScaleX, + LwpTools::ConvertFromTwips(m_aObjHeader.nBottom-m_aObjHeader.nTop) * fScaleY); } /** @@ -311,9 +312,10 @@ void LwpDrawObj::SetArrowHead(XFDrawStyle* pOpenedObjStyle, sal_uInt8 nArrowFlag // arrowhead flag of an object's end side sal_uInt8 nRightArrow = (nArrowFlag & 0xF0) >> 4; - double fWidth_inch = static_cast<double>(nLineWidth)/TWIPS_PER_CM; + // FIXME: this can't be correct: converting something to cm, then treating it as inches + double fWidth_inch = LwpTools::ConvertFromTwips(nLineWidth); double fArrowSize_inch = fWidth_inch + 0.08; - double fArrowSize = fArrowSize_inch * CM_PER_INCH; + double fArrowSize = o3tl::convert(fArrowSize_inch, o3tl::Length::in, o3tl::Length::cm); if (nLeftArrow) { @@ -452,10 +454,10 @@ OUString LwpDrawLine::RegisterStyle() rtl::Reference<XFFrame> LwpDrawLine::CreateDrawObj(const OUString& rStyleName ) { rtl::Reference<XFDrawPath> xLine(new XFDrawPath()); - xLine->MoveTo(XFPoint(static_cast<double>(m_aLineRec.nStartX)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aLineRec.nStartY)/TWIPS_PER_CM * m_pTransData->fScaleY)); - xLine->LineTo(XFPoint(static_cast<double>(m_aLineRec.nEndX)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aLineRec.nEndY)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xLine->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_aLineRec.nStartX) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aLineRec.nStartY) * m_pTransData->fScaleY)); + xLine->LineTo(XFPoint(LwpTools::ConvertFromTwips(m_aLineRec.nEndX) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aLineRec.nEndY) * m_pTransData->fScaleY)); SetPosition(xLine.get()); xLine->SetStyleName(rStyleName); @@ -466,8 +468,10 @@ rtl::Reference<XFFrame> LwpDrawLine::CreateDrawObj(const OUString& rStyleName ) rtl::Reference<XFFrame> LwpDrawLine::CreateStandardDrawObj(const OUString& rStyleName) { rtl::Reference<XFDrawLine> xLine(new XFDrawLine()); - xLine->SetStartPoint(static_cast<double>(m_aLineRec.nStartX)/TWIPS_PER_CM,static_cast<double>(m_aLineRec.nStartY)/TWIPS_PER_CM); - xLine->SetEndPoint(static_cast<double>(m_aLineRec.nEndX)/TWIPS_PER_CM,static_cast<double>(m_aLineRec.nEndY)/TWIPS_PER_CM); + xLine->SetStartPoint(LwpTools::ConvertFromTwips(m_aLineRec.nStartX), + LwpTools::ConvertFromTwips(m_aLineRec.nStartY)); + xLine->SetEndPoint(LwpTools::ConvertFromTwips(m_aLineRec.nEndX), + LwpTools::ConvertFromTwips(m_aLineRec.nEndY)); xLine->SetStyleName(rStyleName); return xLine; @@ -529,12 +533,12 @@ OUString LwpDrawPolyLine::RegisterStyle() rtl::Reference<XFFrame> LwpDrawPolyLine::CreateDrawObj(const OUString& rStyleName ) { rtl::Reference<XFDrawPath> xPolyline(new XFDrawPath()); - xPolyline->MoveTo(XFPoint(static_cast<double>(m_pVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_pVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xPolyline->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_pVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_pVector[0].y) * m_pTransData->fScaleY)); for (sal_uInt16 nC = 1; nC < m_aPolyLineRec.nNumPoints; nC++) { - xPolyline->LineTo(XFPoint(static_cast<double>(m_pVector[nC].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_pVector[nC].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xPolyline->LineTo(XFPoint(LwpTools::ConvertFromTwips(m_pVector[nC].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_pVector[nC].y) * m_pTransData->fScaleY)); } SetPosition(xPolyline.get()); @@ -548,8 +552,8 @@ rtl::Reference<XFFrame> LwpDrawPolyLine::CreateStandardDrawObj(const OUString& rtl::Reference<XFDrawPolyline> xPolyline(new XFDrawPolyline()); for (sal_uInt16 nC = 0; nC < m_aPolyLineRec.nNumPoints; nC++) { - xPolyline->AddPoint(static_cast<double>(m_pVector[nC].x)/TWIPS_PER_CM, - static_cast<double>(m_pVector[nC].y)/TWIPS_PER_CM); + xPolyline->AddPoint(LwpTools::ConvertFromTwips(m_pVector[nC].x), + LwpTools::ConvertFromTwips(m_pVector[nC].y)); } xPolyline->SetStyleName(rStyleName); @@ -609,12 +613,12 @@ OUString LwpDrawPolygon::RegisterStyle() rtl::Reference<XFFrame> LwpDrawPolygon::CreateDrawObj(const OUString& rStyleName) { rtl::Reference<XFDrawPath> xPolygon(new XFDrawPath()); - xPolygon->MoveTo(XFPoint(static_cast<double>(m_pVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_pVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xPolygon->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_pVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_pVector[0].y) * m_pTransData->fScaleY)); for (sal_uInt16 nC = 1; nC < m_nNumPoints; nC++) { - xPolygon->LineTo(XFPoint(static_cast<double>(m_pVector[nC].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_pVector[nC].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xPolygon->LineTo(XFPoint(LwpTools::ConvertFromTwips(m_pVector[nC].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_pVector[nC].y) * m_pTransData->fScaleY)); } xPolygon->ClosePath(); SetPosition(xPolygon.get()); @@ -628,8 +632,8 @@ rtl::Reference<XFFrame> LwpDrawPolygon::CreateStandardDrawObj(const OUString& r rtl::Reference<XFDrawPolygon> xPolygon(new XFDrawPolygon()); for (sal_uInt16 nC = 0; nC < m_nNumPoints; nC++) { - xPolygon->AddPoint(static_cast<double>(m_pVector[nC].x)/TWIPS_PER_CM, - static_cast<double>(m_pVector[nC].y)/TWIPS_PER_CM); + xPolygon->AddPoint(LwpTools::ConvertFromTwips(m_pVector[nC].x), + LwpTools::ConvertFromTwips(m_pVector[nC].y)); } xPolygon->SetStyleName(rStyleName); @@ -695,15 +699,15 @@ rtl::Reference<XFFrame> LwpDrawRectangle::CreateDrawObj(const OUString& rStyleNa else { rtl::Reference<XFDrawPath> xRect(new XFDrawPath()); - xRect->MoveTo(XFPoint(static_cast<double>(m_aVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xRect->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[0].y) * m_pTransData->fScaleY)); for (sal_uInt8 nC = 1; nC < 4; nC++) { - xRect->LineTo(XFPoint(static_cast<double>(m_aVector[nC].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nC].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xRect->LineTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[nC].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nC].y) * m_pTransData->fScaleY)); } - xRect->LineTo(XFPoint(static_cast<double>(m_aVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xRect->LineTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[0].y) * m_pTransData->fScaleY)); xRect->ClosePath(); SetPosition(xRect.get()); @@ -716,38 +720,38 @@ rtl::Reference<XFFrame> LwpDrawRectangle::CreateDrawObj(const OUString& rStyleNa XFFrame* LwpDrawRectangle::CreateRoundedRect(const OUString& rStyleName) { XFDrawPath* pRoundedRect = new XFDrawPath(); - pRoundedRect->MoveTo(XFPoint(static_cast<double>(m_aVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + pRoundedRect->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[0].y) * m_pTransData->fScaleY)); sal_uInt8 nPtIndex = 1; for (sal_uInt8 nC = 0; nC < 7; nC++) { if (nC%2 == 0) { - XFPoint aCtrl1(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aCtrl1(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; - XFPoint aCtrl2(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aCtrl2(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; - XFPoint aDest(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aDest(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; pRoundedRect->CurveTo(aDest, aCtrl1, aCtrl2); } else { - XFPoint aDest(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aDest(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; pRoundedRect->LineTo(aDest); } } - pRoundedRect->LineTo(XFPoint(static_cast<double>(m_aVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + pRoundedRect->LineTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[0].y) * m_pTransData->fScaleY)); pRoundedRect->ClosePath(); SetPosition(pRoundedRect); @@ -792,9 +796,9 @@ rtl::Reference<XFFrame> LwpDrawRectangle::CreateStandardDrawObj(const OUString& fWidth = aOriginalRect.GetWidth(); fHeight = aOriginalRect.GetHeight(); - xRect->SetStartPoint(XFPoint(fStartX/TWIPS_PER_CM + m_pTransData->fOffsetX, - fStartY/TWIPS_PER_CM + m_pTransData->fOffsetY)); - xRect->SetSize(fWidth/TWIPS_PER_CM, fHeight/TWIPS_PER_CM); + xRect->SetStartPoint(XFPoint(LwpTools::ConvertFromTwips(fStartX) + m_pTransData->fOffsetX, + LwpTools::ConvertFromTwips(fStartY) + m_pTransData->fOffsetY)); + xRect->SetSize(LwpTools::ConvertFromTwips(fWidth), LwpTools::ConvertFromTwips(fHeight)); if (aSdwRect.IsRectRotated()) { @@ -848,19 +852,19 @@ OUString LwpDrawEllipse::RegisterStyle() rtl::Reference<XFFrame> LwpDrawEllipse::CreateDrawObj(const OUString& rStyleName ) { rtl::Reference<XFDrawPath> xEllipse(new XFDrawPath()); - xEllipse->MoveTo(XFPoint(static_cast<double>(m_aVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); + xEllipse->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[0].y) * m_pTransData->fScaleY)); sal_uInt8 nPtIndex = 1; for (sal_uInt8 nC = 0; nC < 4; nC++) { - XFPoint aCtrl1(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aCtrl1(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; - XFPoint aCtrl2(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aCtrl2(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; - XFPoint aDest(static_cast<double>(m_aVector[nPtIndex].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[nPtIndex].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aDest(LwpTools::ConvertFromTwips(m_aVector[nPtIndex].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[nPtIndex].y) * m_pTransData->fScaleY); nPtIndex++; xEllipse->CurveTo(aDest, aCtrl1, aCtrl2); @@ -927,14 +931,14 @@ OUString LwpDrawArc::RegisterStyle() rtl::Reference<XFFrame> LwpDrawArc::CreateDrawObj(const OUString& rStyleName ) { rtl::Reference<XFDrawPath> xArc(new XFDrawPath()); - xArc->MoveTo(XFPoint(static_cast<double>(m_aVector[0].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[0].y)/TWIPS_PER_CM * m_pTransData->fScaleY)); - XFPoint aDest(static_cast<double>(m_aVector[3].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[3].y)/TWIPS_PER_CM * m_pTransData->fScaleY); - XFPoint aCtl1(static_cast<double>(m_aVector[1].x)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(m_aVector[1].y)/TWIPS_PER_CM * m_pTransData->fScaleY); - XFPoint aCtl2(static_cast<double>(m_aVector[2].x)/TWIPS_PER_CM* m_pTransData->fScaleX, - static_cast<double>(m_aVector[2].y)/TWIPS_PER_CM * m_pTransData->fScaleY); + xArc->MoveTo(XFPoint(LwpTools::ConvertFromTwips(m_aVector[0].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[0].y) * m_pTransData->fScaleY)); + XFPoint aDest(LwpTools::ConvertFromTwips(m_aVector[3].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[3].y) * m_pTransData->fScaleY); + XFPoint aCtl1(LwpTools::ConvertFromTwips(m_aVector[1].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[1].y) * m_pTransData->fScaleY); + XFPoint aCtl2(LwpTools::ConvertFromTwips(m_aVector[2].x) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(m_aVector[2].y) * m_pTransData->fScaleY); xArc->CurveTo(aDest, aCtl1, aCtl2); SetPosition(xArc.get()); @@ -1145,8 +1149,8 @@ void LwpDrawTextArt::CreateFWPath(XFDrawPath* pPath) sal_Int16 nX, nY; nX = (m_aTextArtRec.aPath[0].aPts[0].x + m_aTextArtRec.aPath[1].aPts[0].x) / 2; nY = (m_aTextArtRec.aPath[0].aPts[0].y + m_aTextArtRec.aPath[1].aPts[0].y) / 2; - XFPoint aStart(static_cast<double>(nX)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(nY)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aStart(LwpTools::ConvertFromTwips(nX) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(nY) * m_pTransData->fScaleY); pPath->MoveTo(aStart); sal_uInt8 nPtIndex = 1; @@ -1154,20 +1158,20 @@ void LwpDrawTextArt::CreateFWPath(XFDrawPath* pPath) { nX = (m_aTextArtRec.aPath[0].aPts.at(nPtIndex).x + m_aTextArtRec.aPath[1].aPts.at(nPtIndex).x) / 2; nY = (m_aTextArtRec.aPath[0].aPts.at(nPtIndex).y + m_aTextArtRec.aPath[1].aPts.at(nPtIndex).y) / 2; - XFPoint aCtrl1(static_cast<double>(nX)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(nY)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aCtrl1(LwpTools::ConvertFromTwips(nX) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(nY) * m_pTransData->fScaleY); nPtIndex++; nX = (m_aTextArtRec.aPath[0].aPts.at(nPtIndex).x + m_aTextArtRec.aPath[1].aPts.at(nPtIndex).x) / 2; nY = (m_aTextArtRec.aPath[0].aPts.at(nPtIndex).y + m_aTextArtRec.aPath[1].aPts.at(nPtIndex).y) / 2; - XFPoint aCtrl2(static_cast<double>(nX)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(nY)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aCtrl2(LwpTools::ConvertFromTwips(nX) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(nY) * m_pTransData->fScaleY); nPtIndex++; nX = (m_aTextArtRec.aPath[0].aPts.at(nPtIndex).x + m_aTextArtRec.aPath[1].aPts.at(nPtIndex).x) / 2; nY = (m_aTextArtRec.aPath[0].aPts.at(nPtIndex).y + m_aTextArtRec.aPath[1].aPts.at(nPtIndex).y) / 2; - XFPoint aDest(static_cast<double>(nX)/TWIPS_PER_CM * m_pTransData->fScaleX, - static_cast<double>(nY)/TWIPS_PER_CM * m_pTransData->fScaleY); + XFPoint aDest(LwpTools::ConvertFromTwips(nX) * m_pTransData->fScaleX, + LwpTools::ConvertFromTwips(nY) * m_pTransData->fScaleY); pPath->CurveTo(aDest, aCtrl1, aCtrl2); } diff --git a/lotuswordpro/source/filter/lwpframelayout.cxx b/lotuswordpro/source/filter/lwpframelayout.cxx index 7c983b01aace..4cb6efb677be 100644 --- a/lotuswordpro/source/filter/lwpframelayout.cxx +++ b/lotuswordpro/source/filter/lwpframelayout.cxx @@ -594,8 +594,8 @@ void LwpFrame::ParseAnchorType(XFFrame* pXFFrame) if (pLayoutGeo) { LwpPoint aPoint = pLayoutGeo->GetOrigin(); - fXOffset = LwpTools::ConvertFromUnitsToMetric(aPoint.GetX()); - fYOffset = LwpTools::ConvertFromUnitsToMetric(aPoint.GetY()); + fXOffset = LwpTools::ConvertFromUnits(aPoint.GetX()); + fYOffset = LwpTools::ConvertFromUnits(aPoint.GetY()); } //set anchor type eAnchor = enumXFAnchorNone; @@ -670,7 +670,7 @@ void LwpFrame::ParseAnchorType(XFFrame* pXFFrame) //experiential value fYOffset = -(m_pLayout->GetGeometryHeight() + 2 * m_pLayout->GetExtMarginsValue(MARGIN_BOTTOM) - - LwpTools::ConvertFromUnitsToMetric(nOffset)); + - LwpTools::ConvertFromUnits(nOffset)); } break; } @@ -690,7 +690,8 @@ void LwpFrame::ParseAnchorType(XFFrame* pXFFrame) rtl::Reference<XFFont> pFont = m_pLayout->GetFont(); if (pFont.is()) { - offset = static_cast<double>(pFont->GetFontSize()) * CM_PER_INCH / POINTS_PER_INCH; + offset = o3tl::convert<double>(pFont->GetFontSize(), o3tl::Length::pt, + o3tl::Length::cm); } fYOffset = offset - fYOffset; break; @@ -716,7 +717,7 @@ bool LwpFrame::IsLeftWider() if (!pParent) return false; LwpPoint aPoint = m_pLayout->GetOrigin(); - double fXOffset = LwpTools::ConvertFromUnitsToMetric(aPoint.GetX()); + double fXOffset = LwpTools::ConvertFromUnits(aPoint.GetX()); double fWidth = m_pLayout->GetWidth(); double fWrapLeft = m_pLayout->GetExtMarginsValue(MARGIN_LEFT); double fWrapRight = m_pLayout->GetExtMarginsValue(MARGIN_RIGHT); @@ -944,7 +945,7 @@ double LwpFrameLayout::GetMaxWidth() if (pParent) { LwpPoint aPoint = GetOrigin(); - double fXOffset = LwpTools::ConvertFromUnitsToMetric(aPoint.GetX()); + double fXOffset = LwpTools::ConvertFromUnits(aPoint.GetX()); double fWrapRight = GetExtMarginsValue(MARGIN_RIGHT); //Get parent layout width diff --git a/lotuswordpro/source/filter/lwpgrfobj.cxx b/lotuswordpro/source/filter/lwpgrfobj.cxx index 202e662ae02f..066e3eec24f8 100644 --- a/lotuswordpro/source/filter/lwpgrfobj.cxx +++ b/lotuswordpro/source/filter/lwpgrfobj.cxx @@ -424,8 +424,8 @@ void LwpGraphicObject::CreateGrafObject() LwpLayoutGeometry* pFrameGeo = pMyFrameLayout->GetGeometry(); // original image size - double fOrgGrafWidth = static_cast<double>(m_Cache.Width)/TWIPS_PER_CM; - double fOrgGrafHeight = static_cast<double>(m_Cache.Height)/TWIPS_PER_CM; + double fOrgGrafWidth = LwpTools::ConvertFromTwips(m_Cache.Width); + double fOrgGrafHeight = LwpTools::ConvertFromTwips(m_Cache.Height); // get margin values double fLeftMargin = pMyFrameLayout->GetMarginsValue(MARGIN_LEFT); @@ -439,8 +439,8 @@ void LwpGraphicObject::CreateGrafObject() throw o3tl::divide_by_zero(); // frame size - double fFrameWidth = LwpTools::ConvertFromUnitsToMetric(pFrameGeo->GetWidth()); - double fFrameHeight = LwpTools::ConvertFromUnitsToMetric(pFrameGeo->GetHeight()); + double fFrameWidth = LwpTools::ConvertFromUnits(pFrameGeo->GetWidth()); + double fFrameHeight = LwpTools::ConvertFromUnits(pFrameGeo->GetHeight()); // calculate the displayed size of the frame double fDisFrameWidth = fFrameWidth - (fLeftMargin+fRightMargin); @@ -454,8 +454,8 @@ void LwpGraphicObject::CreateGrafObject() sal_uInt16 nScalemode = pMyScale->GetScaleMode(); if (nScalemode & LwpLayoutScale::CUSTOM) { - fSclGrafWidth = LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleWidth()); - fSclGrafHeight = LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleHeight()); + fSclGrafWidth = LwpTools::ConvertFromUnits(pMyScale->GetScaleWidth()); + fSclGrafHeight = LwpTools::ConvertFromUnits(pMyScale->GetScaleHeight()); } else if (nScalemode & LwpLayoutScale::PERCENTAGE) { @@ -544,8 +544,8 @@ void LwpGraphicObject::CreateGrafObject() // get image position offset LwpPoint& rOffset = pMyScale->GetOffset(); - double fOffsetX = LwpTools::ConvertFromUnitsToMetric(rOffset.GetX()); - double fOffsetY = LwpTools::ConvertFromUnitsToMetric(rOffset.GetY()); + double fOffsetX = LwpTools::ConvertFromUnits(rOffset.GetX()); + double fOffsetY = LwpTools::ConvertFromUnits(rOffset.GetY()); struct LwpRect { @@ -686,8 +686,8 @@ void LwpGraphicObject::XFConvertEquation(XFContentContainer * pCont) void LwpGraphicObject::GetGrafOrgSize(double & rWidth, double & rHeight) { // original image size - rWidth = static_cast<double>(m_Cache.Width)/TWIPS_PER_CM; - rHeight = static_cast<double>(m_Cache.Height)/TWIPS_PER_CM; + rWidth = LwpTools::ConvertFromTwips(m_Cache.Width); + rHeight = LwpTools::ConvertFromTwips(m_Cache.Height); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/lotuswordpro/source/filter/lwplayout.cxx b/lotuswordpro/source/filter/lwplayout.cxx index bc71d3324405..a0230a62aba2 100644 --- a/lotuswordpro/source/filter/lwplayout.cxx +++ b/lotuswordpro/source/filter/lwplayout.cxx @@ -131,7 +131,7 @@ double LwpVirtualLayout::GetColGap(sal_uInt16 /*nIndex*/) { //return DEFAULTGAPSIZE; //return LwpTools::ConvertToMetric(0.17);//DEFAULTGAPSIZE=0.17 - return LwpTools::ConvertToMetric(0.17); + return o3tl::convert(0.17, o3tl::Length::in, o3tl::Length::cm); } /** @@ -662,7 +662,7 @@ double LwpMiddleLayout::GetGeometryHeight() LwpLayoutGeometry* pGeo = GetGeometry(); if (pGeo) { - return LwpTools::ConvertFromUnitsToMetric(pGeo->GetHeight()); + return LwpTools::ConvertFromUnits(pGeo->GetHeight()); } else return -1; @@ -677,7 +677,7 @@ double LwpMiddleLayout::GetGeometryWidth() LwpLayoutGeometry* pGeo = GetGeometry(); if (pGeo) { - return LwpTools::ConvertFromUnitsToMetric(pGeo->GetWidth()); + return LwpTools::ConvertFromUnits(pGeo->GetWidth()); } else return -1; diff --git a/lotuswordpro/source/filter/lwplaypiece.hxx b/lotuswordpro/source/filter/lwplaypiece.hxx index e05910041241..3e5080915d0d 100644 --- a/lotuswordpro/source/filter/lwplaypiece.hxx +++ b/lotuswordpro/source/filter/lwplaypiece.hxx @@ -217,7 +217,7 @@ class LwpColumnInfo public: LwpColumnInfo(); void Read(LwpObjectStream* pStrm); - double GetGap() { return LwpTools::ConvertFromUnitsToMetric(m_nGap); } + double GetGap() { return LwpTools::ConvertFromUnits(m_nGap); } private: sal_Int32 m_nWidth; diff --git a/lotuswordpro/source/filter/lwplnopts.cxx b/lotuswordpro/source/filter/lwplnopts.cxx index 566db68b37c6..de7824892fe8 100644 --- a/lotuswordpro/source/filter/lwplnopts.cxx +++ b/lotuswordpro/source/filter/lwplnopts.cxx @@ -78,7 +78,7 @@ void LwpLineNumberOptions::RegisterStyle() return; XFLineNumberConfig* pLineNumber = new XFLineNumberConfig; pLineNumber->SetNumberPosition(enumXFLineNumberLeft); - pLineNumber->SetNumberOffset(LwpTools::ConvertFromUnitsToMetric(m_nDistance)); + pLineNumber->SetNumberOffset(LwpTools::ConvertFromUnits(m_nDistance)); pLineNumber->SetNumberIncrement(m_nSeparator); if (m_nFlags & LN_RESETEACHPAGE) pLineNumber->SetRestartOnPage(); diff --git a/lotuswordpro/source/filter/lwpmargins.hxx b/lotuswordpro/source/filter/lwpmargins.hxx index 7095b3b81f20..2a5f49fb5b2f 100644 --- a/lotuswordpro/source/filter/lwpmargins.hxx +++ b/lotuswordpro/source/filter/lwpmargins.hxx @@ -91,13 +91,13 @@ inline double LwpMargins::GetMarginsValue(sal_uInt8 nWhichSide) switch (nWhichSide) { case MARGIN_LEFT://left - return LwpTools::ConvertFromUnitsToMetric(m_nLeft); + return LwpTools::ConvertFromUnits(m_nLeft); case MARGIN_RIGHT://right - return LwpTools::ConvertFromUnitsToMetric(m_nRight); + return LwpTools::ConvertFromUnits(m_nRight); case MARGIN_TOP://top - return LwpTools::ConvertFromUnitsToMetric(m_nTop); + return LwpTools::ConvertFromUnits(m_nTop); case MARGIN_BOTTOM://bottom - return LwpTools::ConvertFromUnitsToMetric(m_nBottom); + return LwpTools::ConvertFromUnits(m_nBottom); } // FIXME: this is needed to avoid warning: control reaches end of non-void function // a better solution would be to enum value for the parameter side diff --git a/lotuswordpro/source/filter/lwpoleobject.cxx b/lotuswordpro/source/filter/lwpoleobject.cxx index 10712e294a56..0530a7bedcd9 100644 --- a/lotuswordpro/source/filter/lwpoleobject.cxx +++ b/lotuswordpro/source/filter/lwpoleobject.cxx @@ -122,8 +122,8 @@ void LwpGraphicOleObject::GetGrafScaledSize(double& fWidth, double& fHeight) if (pMyScale && pFrameGeo) { // frame size - double fFrameWidth = LwpTools::ConvertFromUnitsToMetric(pFrameGeo->GetWidth()); - double fFrameHeight = LwpTools::ConvertFromUnitsToMetric(pFrameGeo->GetHeight()); + double fFrameWidth = LwpTools::ConvertFromUnits(pFrameGeo->GetWidth()); + double fFrameHeight = LwpTools::ConvertFromUnits(pFrameGeo->GetHeight()); // calculate the displayed size of the frame double fDisFrameWidth = fFrameWidth - (fLeftMargin + fRightMargin); @@ -133,8 +133,8 @@ void LwpGraphicOleObject::GetGrafScaledSize(double& fWidth, double& fHeight) sal_uInt16 nScalemode = pMyScale->GetScaleMode(); if (nScalemode & LwpLayoutScale::CUSTOM) { - fSclGrafWidth = LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleWidth()); - fSclGrafHeight = LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleHeight()); + fSclGrafWidth = LwpTools::ConvertFromUnits(pMyScale->GetScaleWidth()); + fSclGrafHeight = LwpTools::ConvertFromUnits(pMyScale->GetScaleHeight()); } else if (nScalemode & LwpLayoutScale::PERCENTAGE) { diff --git a/lotuswordpro/source/filter/lwppagelayout.cxx b/lotuswordpro/source/filter/lwppagelayout.cxx index 69e25d0299bc..e2505d30f70d 100644 --- a/lotuswordpro/source/filter/lwppagelayout.cxx +++ b/lotuswordpro/source/filter/lwppagelayout.cxx @@ -281,12 +281,12 @@ void LwpPageLayout::ParseFootNoteSeparator(XFPageMaster* pm1) throw o3tl::divide_by_zero(); nLengthPercent = static_cast<sal_uInt32>( - 100 * LwpTools::ConvertFromUnitsToMetric(rFootnoteSep.GetLength()) / fMarginWidth); + 100 * LwpTools::ConvertFromUnits(rFootnoteSep.GetLength()) / fMarginWidth); if (nLengthPercent > 100) nLengthPercent = 100; } - double fAbove = LwpTools::ConvertFromUnitsToMetric(rFootnoteSep.GetAbove()); - double fBelow = LwpTools::ConvertFromUnitsToMetric(rFootnoteSep.GetBelow()); + double fAbove = LwpTools::ConvertFromUnits(rFootnoteSep.GetAbove()); + double fBelow = LwpTools::ConvertFromUnits(rFootnoteSep.GetBelow()); LwpColor aColor = rFootnoteSep.GetTopBorderColor(); enumXFAlignType eAlignType = enumXFAlignStart; if (rFootnoteSep.GetIndent() > 0) @@ -297,7 +297,7 @@ void LwpPageLayout::ParseFootNoteSeparator(XFPageMaster* pm1) //SODC don't support indent sal_uInt32 nIndentPercent = static_cast<sal_uInt32>( - 100 * LwpTools::ConvertFromUnitsToMetric(rFootnoteSep.GetIndent()) / fMarginWidth); + 100 * LwpTools::ConvertFromUnits(rFootnoteSep.GetIndent()) / fMarginWidth); if (nIndentPercent + nLengthPercent >= 100) eAlignType = enumXFAlignEnd; } diff --git a/lotuswordpro/source/filter/lwpparastyle.cxx b/lotuswordpro/source/filter/lwpparastyle.cxx index fdec20bc31a3..486f3e1e496a 100644 --- a/lotuswordpro/source/filter/lwpparastyle.cxx +++ b/lotuswordpro/source/filter/lwpparastyle.cxx @@ -435,8 +435,8 @@ void LwpParaStyle::ApplyIndent(LwpPara* pPara, XFParaStyle* pParaStyle, const Lw { pTotalIndent->SetMAll(o3tl::saturating_add(pParentIndent->GetMAll(), pTotalIndent->GetMAll())); pTotalIndent->SetMRight(o3tl::saturating_add(pParentIndent->GetMRight(), pTotalIndent->GetMRight())); - pParaStyle->SetMargins(LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits( - pTotalIndent->GetMAll())), pTotalIndent->GetRight()); + pParaStyle->SetMargins(LwpTools::ConvertFromUnits( + pTotalIndent->GetMAll()), pTotalIndent->GetRight()); pPara->SetIndent(pTotalIndent.release()); return; } @@ -461,8 +461,8 @@ void LwpParaStyle::ApplyIndent(LwpPara* pPara, XFParaStyle* pParaStyle, const Lw pTotalIndent.reset(pIndent->clone()); if (pPara && pPara->GetBulletFlag()) { - pParaStyle->SetMargins(LwpTools::ConvertToMetric( - LwpTools::ConvertFromUnits(pIndent->GetMAll())), pIndent->GetRight()); + pParaStyle->SetMargins( + LwpTools::ConvertFromUnits(pIndent->GetMAll()), pIndent->GetRight()); pPara->SetIndent(pTotalIndent.release()); return; } @@ -500,14 +500,14 @@ void LwpParaStyle::ApplySpacing(LwpPara* pPara, XFParaStyle* pParaStyle, LwpSpac case LwpSpacingCommonOverride::SPACING_LEADING: { xftype = enumLHSpace; - height = LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(amount)); + height = LwpTools::ConvertFromUnits(amount); pParaStyle->SetLineHeight(xftype,height); } break; case LwpSpacingCommonOverride::SPACING_CUSTOM: { xftype = enumLHHeight; - height = LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(sal_Int32(float(multiple)/65536L*amount))); + height = LwpTools::ConvertFromUnits(multiple / 65536.0 * amount); pParaStyle->SetLineHeight(xftype,height); } break; @@ -528,7 +528,7 @@ void LwpParaStyle::ApplySpacing(LwpPara* pPara, XFParaStyle* pParaStyle, LwpSpac case LwpSpacingCommonOverride::SPACING_LEADING: break; case LwpSpacingCommonOverride::SPACING_CUSTOM: - above_val = LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(sal_Int32(float(multiple)/65536L*amount))); + above_val = LwpTools::ConvertFromUnits(multiple / 65536.0 * amount); break; case LwpSpacingCommonOverride::SPACING_NONE: break; @@ -545,7 +545,7 @@ void LwpParaStyle::ApplySpacing(LwpPara* pPara, XFParaStyle* pParaStyle, LwpSpac case LwpSpacingCommonOverride::SPACING_LEADING: break; case LwpSpacingCommonOverride::SPACING_CUSTOM: - below_val = LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(sal_Int32(float(multiple)/65536L*amount))); + below_val = LwpTools::ConvertFromUnits(multiple / 65536.0 * amount); break; case LwpSpacingCommonOverride::SPACING_NONE: break; @@ -613,7 +613,7 @@ void LwpParaStyle::ApplyTab(XFParaStyle *pParaStyle, LwpTabOverride *pTabOverRid //get position sal_uInt32 nPos = pTab->GetPosition(); //different feature between SODC and lwp, the tab length must minus the margin left of para. - double fLen = LwpTools::ConvertFromUnitsToMetric(nPos) - dMarginLeft; + double fLen = LwpTools::ConvertFromUnits(nPos) - dMarginLeft; //get leader type sal_Unicode cLeader = 0x00; diff --git a/lotuswordpro/source/filter/lwprowlayout.cxx b/lotuswordpro/source/filter/lwprowlayout.cxx index d63a06fe9e38..de06c6b98aed 100644 --- a/lotuswordpro/source/filter/lwprowlayout.cxx +++ b/lotuswordpro/source/filter/lwprowlayout.cxx @@ -121,11 +121,11 @@ void LwpRowLayout::RegisterStyle() if (m_nDirection & 0x0030) { - pRowStyle->SetMinRowHeight(static_cast<float>(LwpTools::ConvertFromUnitsToMetric(cheight))); + pRowStyle->SetMinRowHeight(LwpTools::ConvertFromUnits(cheight)); } else { - pRowStyle->SetRowHeight(static_cast<float>(LwpTools::ConvertFromUnitsToMetric(cheight))); + pRowStyle->SetRowHeight(LwpTools::ConvertFromUnits(cheight)); } XFStyleManager* pXFStyleManager = LwpGlobalMgr::GetInstance()->GetXFStyleManager(); m_StyleName = pXFStyleManager->AddStyle(std::move(pRowStyle)).m_pStyle->GetStyleName(); diff --git a/lotuswordpro/source/filter/lwpsdwgrouploaderv0102.cxx b/lotuswordpro/source/filter/lwpsdwgrouploaderv0102.cxx index db51eb39e035..c5aa189c3596 100644 --- a/lotuswordpro/source/filter/lwpsdwgrouploaderv0102.cxx +++ b/lotuswordpro/source/filter/lwpsdwgrouploaderv0102.cxx @@ -125,21 +125,21 @@ void LwpSdwGroupLoaderV0102::BeginDrawObjects(std::vector< rtl::Reference<XFFram // original drawing size tools::Long nWidth = 0, nHeight = 0; m_pGraphicObj->GetGrafOrgSize(nWidth, nHeight); - double fGrafOrgWidth = static_cast<double>(nWidth)/TWIPS_PER_CM; - double fGrafOrgHeight = static_cast<double>(nHeight)/TWIPS_PER_CM; + double fGrafOrgWidth = LwpTools::ConvertFromTwips(nWidth); + double fGrafOrgHeight = LwpTools::ConvertFromTwips(nHeight); // get margin values double fLeftMargin = xMyFrameLayout->GetMarginsValue(MARGIN_LEFT); double fTopMargin = xMyFrameLayout->GetMarginsValue(MARGIN_TOP); // frame size - double fFrameWidth = LwpTools::ConvertFromUnitsToMetric(pFrameGeo->GetWidth()); - double fFrameHeight = LwpTools::ConvertFromUnitsToMetric(pFrameGeo->GetHeight()); + double fFrameWidth = LwpTools::ConvertFromUnits(pFrameGeo->GetWidth()); + double fFrameHeight = LwpTools::ConvertFromUnits(pFrameGeo->GetHeight()); // get frame offset LwpPoint& rOffset = pMyScale->GetOffset(); - double fOffsetX = LwpTools::ConvertFromUnitsToMetric(rOffset.GetX()); - double fOffsetY = LwpTools::ConvertFromUnitsToMetric(rOffset.GetY()); + double fOffsetX = LwpTools::ConvertFromUnits(rOffset.GetX()); + double fOffsetY = LwpTools::ConvertFromUnits(rOffset.GetY()); // get scale mode sal_uInt16 nScalemode = pMyScale->GetScaleMode(); @@ -147,9 +147,9 @@ void LwpSdwGroupLoaderV0102::BeginDrawObjects(std::vector< rtl::Reference<XFFram if (nScalemode & LwpLayoutScale::CUSTOM) { m_aTransformData.fScaleX = - LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleWidth()) / fGrafOrgWidth; + LwpTools::ConvertFromUnits(pMyScale->GetScaleWidth()) / fGrafOrgWidth; m_aTransformData.fScaleY = - LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleHeight()) / fGrafOrgHeight; + LwpTools::ConvertFromUnits(pMyScale->GetScaleHeight()) / fGrafOrgHeight; } else if (nScalemode & LwpLayoutScale::PERCENTAGE) { @@ -159,11 +159,11 @@ void LwpSdwGroupLoaderV0102::BeginDrawObjects(std::vector< rtl::Reference<XFFram } else if (nScalemode & LwpLayoutScale::FIT_IN_FRAME) { - double fWidth0 = static_cast<double>(right) / TWIPS_PER_CM; - double fHeight0 = static_cast<double>(bottom) / TWIPS_PER_CM; + double fWidth0 = LwpTools::ConvertFromTwips(right); + double fHeight0 = LwpTools::ConvertFromTwips(bottom); - double fWidth1 = LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleWidth()); - double fHeight1 = LwpTools::ConvertFromUnitsToMetric(pMyScale->GetScaleHeight()); + double fWidth1 = LwpTools::ConvertFromUnits(pMyScale->GetScaleWidth()); + double fHeight1 = LwpTools::ConvertFromUnits(pMyScale->GetScaleHeight()); double fScaleX = fWidth1 / fWidth0; double fScaleY = fHeight1 / fHeight0; @@ -189,11 +189,11 @@ void LwpSdwGroupLoaderV0102::BeginDrawObjects(std::vector< rtl::Reference<XFFram static_cast<tools::Long>(bottom * m_aTransformData.fScaleY)); Point aCenter = aBoundRect.Center(); - double fNewCenterX = (double(left)/TWIPS_PER_CM + fFrameWidth/*-fOffsetX*/) / 2; - double fNewCenterY = (double(top)/TWIPS_PER_CM + fFrameHeight/*-fOffsetY*/) / 2; + double fNewCenterX = (LwpTools::ConvertFromTwips(left) + fFrameWidth/*-fOffsetX*/) / 2; + double fNewCenterY = (LwpTools::ConvertFromTwips(top) + fFrameHeight/*-fOffsetY*/) / 2; - m_aTransformData.fOffsetX = fNewCenterX - static_cast<double>(aCenter.X())/TWIPS_PER_CM; - m_aTransformData.fOffsetY = fNewCenterY -static_cast<double>(aCenter.Y())/TWIPS_PER_CM; + m_aTransformData.fOffsetX = fNewCenterX - LwpTools::ConvertFromTwips(aCenter.X()); + m_aTransformData.fOffsetY = fNewCenterY - LwpTools::ConvertFromTwips(aCenter.Y()); } else { diff --git a/lotuswordpro/source/filter/lwpshadow.hxx b/lotuswordpro/source/filter/lwpshadow.hxx index 7e38f78b23ba..d1ee9894029d 100644 --- a/lotuswordpro/source/filter/lwpshadow.hxx +++ b/lotuswordpro/source/filter/lwpshadow.hxx @@ -91,12 +91,12 @@ private: inline double LwpShadow::GetOffsetX() { // return 0.102; - return LwpTools::ConvertFromUnitsToMetric(m_nDirX); + return LwpTools::ConvertFromUnits(m_nDirX); } inline double LwpShadow::GetOffsetY() { - return LwpTools::ConvertFromUnitsToMetric(m_nDirY); + return LwpTools::ConvertFromUnits(m_nDirY); } inline const LwpColor& LwpShadow::GetColor() const diff --git a/lotuswordpro/source/filter/lwptable.hxx b/lotuswordpro/source/filter/lwptable.hxx index 6139a351c594..68e7eb197e6b 100644 --- a/lotuswordpro/source/filter/lwptable.hxx +++ b/lotuswordpro/source/filter/lwptable.hxx @@ -110,8 +110,8 @@ public: virtual ~LwpTable() override; virtual void Parse(IXFStream* pOutputStream) override; - double GetWidth() {return LwpTools::ConvertFromUnitsToMetric(m_nWidth);} - double GetHeight() {return LwpTools::ConvertFromUnitsToMetric(m_nHeight);} + double GetWidth() { return LwpTools::ConvertFromUnits(m_nWidth); } + double GetHeight() { return LwpTools::ConvertFromUnits(m_nHeight); } LwpObjectID& GetDefaultCellStyle() {return m_DefaultCellStyle;} sal_uInt16 GetRow() const {return m_nRow;} sal_uInt16 GetColumn() const {return m_nColumn;} diff --git a/lotuswordpro/source/filter/lwptablelayout.cxx b/lotuswordpro/source/filter/lwptablelayout.cxx index b65bcc178de6..f36a553b16cf 100644 --- a/lotuswordpro/source/filter/lwptablelayout.cxx +++ b/lotuswordpro/source/filter/lwptablelayout.cxx @@ -258,7 +258,7 @@ double LwpSuperTableLayout::GetTableWidth() double dLeft = GetMarginsValue(MARGIN_LEFT); double dRight = GetMarginsValue(MARGIN_RIGHT); - return LwpTools::ConvertFromUnitsToMetric(nWidth)-dLeft-dRight; + return LwpTools::ConvertFromUnits(nWidth) - dLeft - dRight; } /** @@ -342,7 +342,7 @@ void LwpSuperTableLayout::ApplyAlignment(XFTableStyle * pTableStyle) LwpPoint aPoint; if (LwpLayoutGeometry* pGeometry = GetGeometry()) aPoint = pGeometry->GetOrigin(); - double dXOffset = LwpTools::ConvertFromUnitsToMetric(aPoint.GetX()); + double dXOffset = LwpTools::ConvertFromUnits(aPoint.GetX()); // add left padding to alignment distance double dLeft = GetMarginsValue(MARGIN_LEFT); diff --git a/lotuswordpro/source/filter/lwptablelayout.hxx b/lotuswordpro/source/filter/lwptablelayout.hxx index 945d6ca5bce7..f54c82b8e1f9 100644 --- a/lotuswordpro/source/filter/lwptablelayout.hxx +++ b/lotuswordpro/source/filter/lwptablelayout.hxx @@ -244,7 +244,7 @@ public: virtual ~LwpColumnLayout() override; virtual LWP_LAYOUT_TYPE GetLayoutType () override { return LWP_COLUMN_LAYOUT;} sal_uInt32 GetColumnID() const {return ccolid;} - double GetWidth() override {return LwpTools::ConvertFromUnitsToMetric(cwidth);} + double GetWidth() override { return LwpTools::ConvertFromUnits(cwidth); } using LwpVirtualLayout::RegisterStyle; void RegisterStyle(double dCalculatedWidth); bool IsJustifiable() const {return (( m_nAttributes2 & STYLE2_JUSTIFIABLE) != 0);} diff --git a/lotuswordpro/source/filter/lwpverdocument.cxx b/lotuswordpro/source/filter/lwpverdocument.cxx index 4a228a7a68ab..801f0f5d2df0 100644 --- a/lotuswordpro/source/filter/lwpverdocument.cxx +++ b/lotuswordpro/source/filter/lwpverdocument.cxx @@ -93,7 +93,7 @@ void LwpVerDocument::Read() void LwpVerDocument::RegisterStyle() { std::unique_ptr<XFDefaultParaStyle> pDefault(new XFDefaultParaStyle); - double len = static_cast<double>(m_nTabSpacing) / UNITS_PER_INCH * CM_PER_INCH; + double len = LwpTools::ConvertFromUnits(m_nTabSpacing); if (len < 0.001) { len = 1.27; //0.5 inch