summaryrefslogtreecommitdiff
path: root/xfa/fgas/layout
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fgas/layout')
-rw-r--r--xfa/fgas/layout/cfx_break.cpp18
-rw-r--r--xfa/fgas/layout/cfx_break.h3
-rw-r--r--xfa/fgas/layout/cfx_rtfbreak.cpp8
-rw-r--r--xfa/fgas/layout/cfx_txtbreak.cpp6
4 files changed, 18 insertions, 17 deletions
diff --git a/xfa/fgas/layout/cfx_break.cpp b/xfa/fgas/layout/cfx_break.cpp
index 43ef9a3833..35c637a51f 100644
--- a/xfa/fgas/layout/cfx_break.cpp
+++ b/xfa/fgas/layout/cfx_break.cpp
@@ -12,11 +12,8 @@
#include "third_party/base/stl_util.h"
#include "xfa/fgas/font/cfgas_gefont.h"
-namespace {
-
-const int kMinimumTabWidth = 160000;
-
-} // namespace
+const float CFX_Break::kConversionFactor = 20000.0f;
+const int CFX_Break::kMinimumTabWidth = 160000;
CFX_Break::CFX_Break(uint32_t dwLayoutStyles)
: m_dwLayoutStyles(dwLayoutStyles) {
@@ -102,7 +99,8 @@ void CFX_Break::SetTabWidth(float fTabWidth) {
// Note, the use of max here was only done in the TxtBreak code. Leaving this
// in for the RTFBreak code for consistency. If we see issues with tab widths
// we may need to fix this.
- m_iTabWidth = std::max(FXSYS_round(fTabWidth * 20000.0f), kMinimumTabWidth);
+ m_iTabWidth =
+ std::max(FXSYS_round(fTabWidth * kConversionFactor), kMinimumTabWidth);
}
void CFX_Break::SetDefaultChar(wchar_t wch) {
@@ -125,19 +123,19 @@ void CFX_Break::SetParagraphBreakChar(wchar_t wch) {
}
void CFX_Break::SetLineBreakTolerance(float fTolerance) {
- m_iTolerance = FXSYS_round(fTolerance * 20000.0f);
+ m_iTolerance = FXSYS_round(fTolerance * kConversionFactor);
}
void CFX_Break::SetCharSpace(float fCharSpace) {
- m_iCharSpace = FXSYS_round(fCharSpace * 20000.0f);
+ m_iCharSpace = FXSYS_round(fCharSpace * kConversionFactor);
}
void CFX_Break::SetLineBoundary(float fLineStart, float fLineEnd) {
if (fLineStart > fLineEnd)
return;
- m_iLineStart = FXSYS_round(fLineStart * 20000.0f);
- m_iLineWidth = FXSYS_round(fLineEnd * 20000.0f);
+ m_iLineStart = FXSYS_round(fLineStart * kConversionFactor);
+ m_iLineWidth = FXSYS_round(fLineEnd * kConversionFactor);
m_pCurLine->m_iStart = std::min(m_pCurLine->m_iStart, m_iLineWidth);
m_pCurLine->m_iStart = std::max(m_pCurLine->m_iStart, m_iLineStart);
}
diff --git a/xfa/fgas/layout/cfx_break.h b/xfa/fgas/layout/cfx_break.h
index 88cef53df1..ee33340e67 100644
--- a/xfa/fgas/layout/cfx_break.h
+++ b/xfa/fgas/layout/cfx_break.h
@@ -63,6 +63,9 @@ class CFX_Break {
}
protected:
+ static const int kMinimumTabWidth;
+ static const float kConversionFactor;
+
explicit CFX_Break(uint32_t dwLayoutStyles);
void SetBreakStatus();
diff --git a/xfa/fgas/layout/cfx_rtfbreak.cpp b/xfa/fgas/layout/cfx_rtfbreak.cpp
index 4dfe8989d1..a50bade98a 100644
--- a/xfa/fgas/layout/cfx_rtfbreak.cpp
+++ b/xfa/fgas/layout/cfx_rtfbreak.cpp
@@ -27,15 +27,15 @@ CFX_RTFBreak::CFX_RTFBreak(uint32_t dwLayoutStyles)
CFX_RTFBreak::~CFX_RTFBreak() {}
void CFX_RTFBreak::SetLineStartPos(float fLinePos) {
- int32_t iLinePos = FXSYS_round(fLinePos * 20000.0f);
+ int32_t iLinePos = FXSYS_round(fLinePos * kConversionFactor);
iLinePos = std::min(iLinePos, m_iLineWidth);
iLinePos = std::max(iLinePos, m_iLineStart);
m_pCurLine->m_iStart = iLinePos;
}
void CFX_RTFBreak::AddPositionedTab(float fTabPos) {
- int32_t iTabPos =
- std::min(FXSYS_round(fTabPos * 20000.0f) + m_iLineStart, m_iLineWidth);
+ int32_t iTabPos = std::min(
+ FXSYS_round(fTabPos * kConversionFactor) + m_iLineStart, m_iLineWidth);
auto it = std::lower_bound(m_PositionedTabs.begin(), m_PositionedTabs.end(),
iTabPos);
if (it != m_PositionedTabs.end() && *it == iTabPos)
@@ -158,7 +158,7 @@ void CFX_RTFBreak::AppendChar_Tab(CFX_Char* pCurChar) {
iSafeCharWidth = iCharWidth;
} else {
// Tab width is >= 160000, so this part does not need to be checked.
- ASSERT(m_iTabWidth >= 160000);
+ ASSERT(m_iTabWidth >= kMinimumTabWidth);
iSafeCharWidth = iLineWidth / m_iTabWidth + 1;
iSafeCharWidth *= m_iTabWidth;
}
diff --git a/xfa/fgas/layout/cfx_txtbreak.cpp b/xfa/fgas/layout/cfx_txtbreak.cpp
index 490426a221..89d2122494 100644
--- a/xfa/fgas/layout/cfx_txtbreak.cpp
+++ b/xfa/fgas/layout/cfx_txtbreak.cpp
@@ -33,7 +33,7 @@ CFX_TxtBreak::CFX_TxtBreak()
CFX_TxtBreak::~CFX_TxtBreak() {}
void CFX_TxtBreak::SetLineWidth(float fLineWidth) {
- m_iLineWidth = FXSYS_round(fLineWidth * 20000.0f);
+ m_iLineWidth = FXSYS_round(fLineWidth * kConversionFactor);
ASSERT(m_iLineWidth >= 20000);
}
@@ -44,7 +44,7 @@ void CFX_TxtBreak::SetAlignment(int32_t iAlignment) {
}
void CFX_TxtBreak::SetCombWidth(float fCombWidth) {
- m_iCombWidth = FXSYS_round(fCombWidth * 20000.0f);
+ m_iCombWidth = FXSYS_round(fCombWidth * kConversionFactor);
}
void CFX_TxtBreak::AppendChar_Combination(CFX_Char* pCurChar) {
@@ -953,7 +953,7 @@ std::vector<CFX_RectF> CFX_TxtBreak::GetCharRects(const FX_TXTRUN* pTxtRun,
wch = *pStr++;
iCharSize = *pWidths++;
}
- fCharSize = static_cast<float>(iCharSize) / 20000.0f;
+ fCharSize = static_cast<float>(iCharSize) / kConversionFactor;
bool bRet = (!bSingleLine && IsCtrlCode(wch));
if (!(wch == L'\v' || wch == L'\f' || wch == 0x2028 || wch == 0x2029 ||
wch == L'\n')) {