diff options
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fgas/font/cfgas_gefont.cpp | 17 | ||||
-rw-r--r-- | xfa/fgas/font/cfgas_gefont.h | 6 | ||||
-rw-r--r-- | xfa/fgas/layout/cfx_txtbreak.cpp | 13 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffpageview.cpp | 28 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffpageview.h | 2 | ||||
-rw-r--r-- | xfa/fxgraphics/cxfa_graphics.cpp | 2 |
6 files changed, 32 insertions, 36 deletions
diff --git a/xfa/fgas/font/cfgas_gefont.cpp b/xfa/fgas/font/cfgas_gefont.cpp index 83b7ad68d7..6b2cb0f03b 100644 --- a/xfa/fgas/font/cfgas_gefont.cpp +++ b/xfa/fgas/font/cfgas_gefont.cpp @@ -185,7 +185,7 @@ bool CFGAS_GEFont::GetCharWidth(wchar_t wUnicode, int32_t& iWidth) { return iWidth > 0; } -bool CFGAS_GEFont::GetCharBBox(wchar_t wUnicode, CFX_Rect* bbox) { +bool CFGAS_GEFont::GetCharBBox(wchar_t wUnicode, FX_RECT* bbox) { auto it = m_BBoxMap.find(wUnicode); if (it != m_BBoxMap.end()) { *bbox = it->second; @@ -205,21 +205,18 @@ bool CFGAS_GEFont::GetCharBBox(wchar_t wUnicode, CFX_Rect* bbox) { if (!m_pFont->GetGlyphBBox(iGlyph, rtBBox)) return false; - CFX_Rect rt(rtBBox.left, rtBBox.top, rtBBox.Width(), rtBBox.Height()); - m_BBoxMap[wUnicode] = rt; - *bbox = rt; + m_BBoxMap[wUnicode] = rtBBox; + *bbox = rtBBox; return true; } -bool CFGAS_GEFont::GetBBox(CFX_Rect* bbox) { - FX_RECT rt(0, 0, 0, 0); +bool CFGAS_GEFont::GetBBox(FX_RECT* bbox) { + // TODO(thestig): Pass directly into GetBBox(). + FX_RECT rt; if (!m_pFont->GetBBox(rt)) return false; - bbox->left = rt.left; - bbox->width = rt.Width(); - bbox->top = rt.bottom; - bbox->height = -rt.Height(); + *bbox = rt; return true; } diff --git a/xfa/fgas/font/cfgas_gefont.h b/xfa/fgas/font/cfgas_gefont.h index 646562d9ee..22169d6d3d 100644 --- a/xfa/fgas/font/cfgas_gefont.h +++ b/xfa/fgas/font/cfgas_gefont.h @@ -43,8 +43,8 @@ class CFGAS_GEFont : public Retainable { int32_t GetAscent() const; int32_t GetDescent() const; - bool GetCharBBox(wchar_t wUnicode, CFX_Rect* bbox); - bool GetBBox(CFX_Rect* bbox); + bool GetCharBBox(wchar_t wUnicode, FX_RECT* bbox); + bool GetBBox(FX_RECT* bbox); RetainPtr<CFGAS_GEFont> GetSubstFont(int32_t iGlyphIndex); CFX_Font* GetDevFont() const { return m_pFont; } @@ -89,7 +89,7 @@ class CFGAS_GEFont : public Retainable { RetainPtr<IFX_SeekableReadStream> m_pFileRead; std::unique_ptr<CFX_UnicodeEncoding> m_pFontEncoding; std::map<wchar_t, int32_t> m_CharWidthMap; - std::map<wchar_t, CFX_Rect> m_BBoxMap; + std::map<wchar_t, FX_RECT> m_BBoxMap; std::vector<RetainPtr<CFGAS_GEFont>> m_SubstFonts; std::map<wchar_t, RetainPtr<CFGAS_GEFont>> m_FontMapper; }; diff --git a/xfa/fgas/layout/cfx_txtbreak.cpp b/xfa/fgas/layout/cfx_txtbreak.cpp index 30ed3a6746..c3075b00dc 100644 --- a/xfa/fgas/layout/cfx_txtbreak.cpp +++ b/xfa/fgas/layout/cfx_txtbreak.cpp @@ -851,19 +851,18 @@ int32_t CFX_TxtBreak::GetDisplayPos(const FX_TXTRUN* pTxtRun, } if (chartype == FX_CHARTYPE_Combination) { - CFX_Rect rtBBox; + FX_RECT rtBBox; if (pFont->GetCharBBox(wForm, &rtBBox)) { pCharPos->m_Origin.y = - fYBase + fFontSize - - fFontSize * (float)rtBBox.height / (float)iMaxHeight; + fYBase + fFontSize - fFontSize * rtBBox.Height() / iMaxHeight; } if (wForm == wch && wLast != 0xFEFF) { uint32_t dwLastProps = FX_GetUnicodeProperties(wLast); if ((dwLastProps & FX_CHARTYPEBITSMASK) == FX_CHARTYPE_Combination) { - CFX_Rect rtBox; + FX_RECT rtBox; if (pFont->GetCharBBox(wLast, &rtBox)) - pCharPos->m_Origin.y -= fFontSize * rtBox.height / iMaxHeight; + pCharPos->m_Origin.y -= fFontSize * rtBox.Height() / iMaxHeight; } } } @@ -915,12 +914,12 @@ std::vector<CFX_RectF> CFX_TxtBreak::GetCharRects(const FX_TXTRUN* pTxtRun, if (!pFont) bCharBBox = false; - CFX_Rect bbox; + FX_RECT bbox; if (bCharBBox) bCharBBox = pFont->GetBBox(&bbox); float fLeft = std::max(0.0f, bbox.left * fScale); - float fHeight = fabs(bbox.height * fScale); + float fHeight = fabs(bbox.Height() * fScale); bool bRTLPiece = !!(pTxtRun->dwCharStyles & FX_TXTCHARSTYLE_OddBidiLevel); bool bSingleLine = !!(pTxtRun->dwStyles & FX_LAYOUTSTYLE_SingleLine); bool bCombText = !!(pTxtRun->dwStyles & FX_LAYOUTSTYLE_CombText); diff --git a/xfa/fxfa/cxfa_ffpageview.cpp b/xfa/fxfa/cxfa_ffpageview.cpp index fa68cb7b81..d85ff07c0f 100644 --- a/xfa/fxfa/cxfa_ffpageview.cpp +++ b/xfa/fxfa/cxfa_ffpageview.cpp @@ -28,7 +28,7 @@ namespace { CFX_Matrix GetPageMatrix(const CFX_RectF& docPageRect, - const CFX_Rect& devicePageRect, + const FX_RECT& devicePageRect, int32_t iRotate, uint32_t dwCoordinatesType) { ASSERT(iRotate >= 0 && iRotate <= 3); @@ -37,29 +37,29 @@ CFX_Matrix GetPageMatrix(const CFX_RectF& docPageRect, bool bFlipY = (dwCoordinatesType & 0x02) != 0; CFX_Matrix m((bFlipX ? -1.0f : 1.0f), 0, 0, (bFlipY ? -1.0f : 1.0f), 0, 0); if (iRotate == 0 || iRotate == 2) { - m.a *= (float)devicePageRect.width / docPageRect.width; - m.d *= (float)devicePageRect.height / docPageRect.height; + m.a *= (float)devicePageRect.Width() / docPageRect.width; + m.d *= (float)devicePageRect.Height() / docPageRect.height; } else { - m.a *= (float)devicePageRect.height / docPageRect.width; - m.d *= (float)devicePageRect.width / docPageRect.height; + m.a *= (float)devicePageRect.Height() / docPageRect.width; + m.d *= (float)devicePageRect.Width() / docPageRect.height; } m.Rotate(iRotate * 1.57079632675f); switch (iRotate) { case 0: - m.e = bFlipX ? (float)devicePageRect.right() : (float)devicePageRect.left; - m.f = bFlipY ? (float)devicePageRect.bottom() : (float)devicePageRect.top; + m.e = bFlipX ? devicePageRect.right : devicePageRect.left; + m.f = bFlipY ? devicePageRect.bottom : devicePageRect.top; break; case 1: - m.e = bFlipY ? (float)devicePageRect.left : (float)devicePageRect.right(); - m.f = bFlipX ? (float)devicePageRect.bottom() : (float)devicePageRect.top; + m.e = bFlipY ? devicePageRect.left : devicePageRect.right; + m.f = bFlipX ? devicePageRect.bottom : devicePageRect.top; break; case 2: - m.e = bFlipX ? (float)devicePageRect.left : (float)devicePageRect.right(); - m.f = bFlipY ? (float)devicePageRect.top : (float)devicePageRect.bottom(); + m.e = bFlipX ? devicePageRect.left : devicePageRect.right; + m.f = bFlipY ? devicePageRect.top : devicePageRect.bottom; break; case 3: - m.e = bFlipY ? (float)devicePageRect.right() : (float)devicePageRect.left; - m.f = bFlipX ? (float)devicePageRect.top : (float)devicePageRect.bottom(); + m.e = bFlipY ? devicePageRect.right : devicePageRect.left; + m.f = bFlipX ? devicePageRect.top : devicePageRect.bottom; break; default: break; @@ -122,7 +122,7 @@ CFX_RectF CXFA_FFPageView::GetPageViewRect() const { return CFX_RectF(0, 0, GetPageSize()); } -CFX_Matrix CXFA_FFPageView::GetDisplayMatrix(const CFX_Rect& rtDisp, +CFX_Matrix CXFA_FFPageView::GetDisplayMatrix(const FX_RECT& rtDisp, int32_t iRotate) const { return GetPageMatrix(CFX_RectF(0, 0, GetPageSize()), rtDisp, iRotate, 0); } diff --git a/xfa/fxfa/cxfa_ffpageview.h b/xfa/fxfa/cxfa_ffpageview.h index b33e25f79d..10dac26b92 100644 --- a/xfa/fxfa/cxfa_ffpageview.h +++ b/xfa/fxfa/cxfa_ffpageview.h @@ -25,7 +25,7 @@ class CXFA_FFPageView : public CXFA_ContainerLayoutItem { CXFA_FFDocView* GetDocView() const; CFX_RectF GetPageViewRect() const; - CFX_Matrix GetDisplayMatrix(const CFX_Rect& rtDisp, int32_t iRotate) const; + CFX_Matrix GetDisplayMatrix(const FX_RECT& rtDisp, int32_t iRotate) const; std::unique_ptr<IXFA_WidgetIterator> CreateWidgetIterator( uint32_t dwTraverseWay, uint32_t dwWidgetFilter); diff --git a/xfa/fxgraphics/cxfa_graphics.cpp b/xfa/fxgraphics/cxfa_graphics.cpp index b13ecc060d..ae1e04acca 100644 --- a/xfa/fxgraphics/cxfa_graphics.cpp +++ b/xfa/fxgraphics/cxfa_graphics.cpp @@ -214,7 +214,7 @@ CFX_RectF CXFA_Graphics::GetClipRect() const { return CFX_RectF(); FX_RECT r = m_renderDevice->GetClipBox(); - return CFX_Rect(r.left, r.top, r.Width(), r.Height()).As<float>(); + return CFX_RectF(r.left, r.top, r.Width(), r.Height()); } void CXFA_Graphics::SetClipRect(const CFX_RectF& rect) { |