diff options
Diffstat (limited to 'xfa/fee')
-rw-r--r-- | xfa/fee/fde_txtedtengine.cpp | 8 | ||||
-rw-r--r-- | xfa/fee/fde_txtedtengine.h | 7 | ||||
-rw-r--r-- | xfa/fee/fde_txtedtpage.cpp | 6 | ||||
-rw-r--r-- | xfa/fee/fde_txtedtparag.cpp | 4 | ||||
-rw-r--r-- | xfa/fee/fx_wordbreak/fx_wordbreak.h | 53 | ||||
-rw-r--r-- | xfa/fee/fx_wordbreak/fx_wordbreak_impl.cpp | 3 | ||||
-rw-r--r-- | xfa/fee/fx_wordbreak/fx_wordbreak_impl.h | 41 |
7 files changed, 53 insertions, 69 deletions
diff --git a/xfa/fee/fde_txtedtengine.cpp b/xfa/fee/fde_txtedtengine.cpp index ee07790b75..b98f1e141f 100644 --- a/xfa/fee/fde_txtedtengine.cpp +++ b/xfa/fee/fde_txtedtengine.cpp @@ -63,9 +63,9 @@ void CFDE_TxtEdtEngine::Release() { delete this; } void CFDE_TxtEdtEngine::SetEditParams(const FDE_TXTEDTPARAMS& params) { - if (m_pTextBreak == NULL) { - m_pTextBreak = IFX_TxtBreak::Create(FX_TXTBREAKPOLICY_None); - } + if (!m_pTextBreak) + m_pTextBreak = new CFX_TxtBreak(FX_TXTBREAKPOLICY_None); + FXSYS_memcpy(&m_Param, ¶ms, sizeof(FDE_TXTEDTPARAMS)); m_wLineEnd = params.wLineBreakChar; m_bAutoLineEnd = (m_Param.nLineEnd == FDE_TXTEDIT_LINEEND_Auto); @@ -721,7 +721,7 @@ IFDE_TxtEdtBuf* CFDE_TxtEdtEngine::GetTextBuf() const { int32_t CFDE_TxtEdtEngine::GetTextBufLength() const { return m_pTxtBuf->GetTextLength() - 1; } -IFX_TxtBreak* CFDE_TxtEdtEngine::GetTextBreak() const { +CFX_TxtBreak* CFDE_TxtEdtEngine::GetTextBreak() const { return m_pTextBreak; } int32_t CFDE_TxtEdtEngine::GetLineCount() const { diff --git a/xfa/fee/fde_txtedtengine.h b/xfa/fee/fde_txtedtengine.h index 947570e4a4..b122969eae 100644 --- a/xfa/fee/fde_txtedtengine.h +++ b/xfa/fee/fde_txtedtengine.h @@ -10,8 +10,9 @@ #include "core/fxcrt/include/fx_string.h" #include "xfa/fee/ifde_txtedtbuf.h" #include "xfa/fee/ifde_txtedtengine.h" +#include "xfa/fgas/layout/fgas_textbreak.h" -class IFX_TxtBreak; +class CFX_TxtBreak; class IFX_CharIter; class CFDE_TxtEdtParag; class CFDE_TxtEdtDoRecord_Insert; @@ -105,7 +106,7 @@ class CFDE_TxtEdtEngine : public IFDE_TxtEdtEngine { virtual IFX_CharIter* CreateCharIter(); IFDE_TxtEdtBuf* GetTextBuf() const; int32_t GetTextBufLength() const; - IFX_TxtBreak* GetTextBreak() const; + CFX_TxtBreak* GetTextBreak() const; int32_t GetLineCount() const; int32_t GetPageLineCount() const; @@ -173,7 +174,7 @@ class CFDE_TxtEdtEngine : public IFDE_TxtEdtEngine { void DeleteSelect(); IFDE_TxtEdtBuf* m_pTxtBuf; - IFX_TxtBreak* m_pTextBreak; + CFX_TxtBreak* m_pTextBreak; FDE_TXTEDTPARAMS m_Param; CFX_ArrayTemplate<IFDE_TxtEdtPage*> m_PagePtrArray; CFX_ArrayTemplate<CFDE_TxtEdtParag*> m_ParagPtrArray; diff --git a/xfa/fee/fde_txtedtpage.cpp b/xfa/fee/fde_txtedtpage.cpp index f75fcd1426..eaf2627b56 100644 --- a/xfa/fee/fde_txtedtpage.cpp +++ b/xfa/fee/fde_txtedtpage.cpp @@ -76,7 +76,7 @@ int32_t CFDE_TxtEdtTextSet::GetDisplayPos(FDE_HVISUALOBJ hText, } CFDE_TxtEdtEngine* pEngine = (CFDE_TxtEdtEngine*)(m_pPage->GetEngine()); const FDE_TXTEDTPARAMS* pTextParams = pEngine->GetEditParams(); - IFX_TxtBreak* pBreak = pEngine->GetTextBreak(); + CFX_TxtBreak* pBreak = pEngine->GetTextBreak(); uint32_t dwLayoutStyle = pBreak->GetLayoutStyles(); FX_TXTRUN tr; tr.pAccess = m_pPage; @@ -368,7 +368,7 @@ int32_t CFDE_TxtEdtPage::SelectWord(const CFX_PointF& fPoint, int32_t& nCount) { if (nIndex < 0) { return -1; } - IFX_WordBreak* pIter = FX_WordBreak_Create(); + CFX_WordBreak* pIter = new CFX_WordBreak; pIter->Attach(new CFDE_TxtEdtBufIter((CFDE_TxtEdtBuf*)pBuf)); pIter->SetAt(nIndex); nCount = pIter->GetWordLength(); @@ -395,7 +395,7 @@ int32_t CFDE_TxtEdtPage::LoadPage(const CFX_RectF* pClipBox, wcAlias = m_pEditEngine->GetAliasChar(); } m_pIter = new CFDE_TxtEdtBufIter((CFDE_TxtEdtBuf*)pBuf, wcAlias); - IFX_TxtBreak* pBreak = m_pEditEngine->GetTextBreak(); + CFX_TxtBreak* pBreak = m_pEditEngine->GetTextBreak(); pBreak->EndBreak(FX_TXTBREAK_ParagraphBreak); pBreak->ClearBreakPieces(); int32_t nPageLineCount = m_pEditEngine->GetPageLineCount(); diff --git a/xfa/fee/fde_txtedtparag.cpp b/xfa/fee/fde_txtedtparag.cpp index cac8c3c455..00899a140f 100644 --- a/xfa/fee/fde_txtedtparag.cpp +++ b/xfa/fee/fde_txtedtparag.cpp @@ -31,7 +31,7 @@ void CFDE_TxtEdtParag::LoadParag() { ((int32_t*)m_lpData)[0]++; return; } - IFX_TxtBreak* pTxtBreak = m_pEngine->GetTextBreak(); + CFX_TxtBreak* pTxtBreak = m_pEngine->GetTextBreak(); IFDE_TxtEdtBuf* pTxtBuf = m_pEngine->GetTextBuf(); const FDE_TXTEDTPARAMS* pParam = m_pEngine->GetEditParams(); FX_WCHAR wcAlias = 0; @@ -101,7 +101,7 @@ void CFDE_TxtEdtParag::UnloadParag() { } } void CFDE_TxtEdtParag::CalcLines() { - IFX_TxtBreak* pTxtBreak = m_pEngine->GetTextBreak(); + CFX_TxtBreak* pTxtBreak = m_pEngine->GetTextBreak(); IFDE_TxtEdtBuf* pTxtBuf = m_pEngine->GetTextBuf(); IFX_CharIter* pIter = new CFDE_TxtEdtBufIter((CFDE_TxtEdtBuf*)pTxtBuf); int32_t nCount = 0; diff --git a/xfa/fee/fx_wordbreak/fx_wordbreak.h b/xfa/fee/fx_wordbreak/fx_wordbreak.h index fb35230136..7192700b9a 100644 --- a/xfa/fee/fx_wordbreak/fx_wordbreak.h +++ b/xfa/fee/fx_wordbreak/fx_wordbreak.h @@ -9,22 +9,49 @@ #include "core/fxcrt/include/fx_string.h" #include "core/fxcrt/include/fx_system.h" +#include "xfa/fee/ifde_txtedtengine.h" -class IFX_CharIter; +class CFX_CharIter : public IFX_CharIter { + public: + CFX_CharIter(const CFX_WideString& wsText); + virtual void Release(); + virtual FX_BOOL Next(FX_BOOL bPrev = FALSE); + virtual FX_WCHAR GetChar(); + virtual void SetAt(int32_t nIndex); + virtual int32_t GetAt() const; + virtual FX_BOOL IsEOF(FX_BOOL bTail = TRUE) const; + virtual IFX_CharIter* Clone(); + + protected: + ~CFX_CharIter(); -class IFX_WordBreak { + private: + const CFX_WideString& m_wsText; + int32_t m_nIndex; +}; +class CFX_WordBreak { public: - virtual ~IFX_WordBreak() {} - virtual void Release() = 0; - virtual void Attach(IFX_CharIter* pIter) = 0; - virtual void Attach(const CFX_WideString& wsText) = 0; - virtual FX_BOOL Next(FX_BOOL bPrev) = 0; - virtual void SetAt(int32_t nIndex) = 0; - virtual int32_t GetWordPos() const = 0; - virtual int32_t GetWordLength() const = 0; - virtual void GetWord(CFX_WideString& wsWord) const = 0; - virtual FX_BOOL IsEOF(FX_BOOL bTail = TRUE) const = 0; + CFX_WordBreak(); + + void Release(); + void Attach(IFX_CharIter* pIter); + void Attach(const CFX_WideString& wsText); + FX_BOOL Next(FX_BOOL bPrev); + void SetAt(int32_t nIndex); + int32_t GetWordPos() const; + int32_t GetWordLength() const; + void GetWord(CFX_WideString& wsWord) const; + FX_BOOL IsEOF(FX_BOOL bTail) const; + + protected: + ~CFX_WordBreak(); + FX_BOOL FindNextBreakPos(IFX_CharIter* pIter, + FX_BOOL bPrev, + FX_BOOL bFromNext = TRUE); + + private: + IFX_CharIter* m_pPreIter; + IFX_CharIter* m_pCurIter; }; -IFX_WordBreak* FX_WordBreak_Create(); #endif // XFA_FEE_FX_WORDBREAK_FX_WORDBREAK_H_ diff --git a/xfa/fee/fx_wordbreak/fx_wordbreak_impl.cpp b/xfa/fee/fx_wordbreak/fx_wordbreak_impl.cpp index 3f6e240430..e77c5f14bf 100644 --- a/xfa/fee/fx_wordbreak/fx_wordbreak_impl.cpp +++ b/xfa/fee/fx_wordbreak/fx_wordbreak_impl.cpp @@ -233,6 +233,3 @@ FX_BOOL CFX_WordBreak::FindNextBreakPos(IFX_CharIter* pIter, } while (!pIter->IsEOF(!bPrev)); return TRUE; } -IFX_WordBreak* FX_WordBreak_Create() { - return new CFX_WordBreak; -} diff --git a/xfa/fee/fx_wordbreak/fx_wordbreak_impl.h b/xfa/fee/fx_wordbreak/fx_wordbreak_impl.h index 16c429b5fe..5cbd185602 100644 --- a/xfa/fee/fx_wordbreak/fx_wordbreak_impl.h +++ b/xfa/fee/fx_wordbreak/fx_wordbreak_impl.h @@ -33,46 +33,5 @@ enum FX_WordBreakProp { FX_WordBreakProp_ExtendNumLet, }; FX_WordBreakProp FX_GetWordBreakProperty(FX_WCHAR wcCodePoint); -class CFX_CharIter : public IFX_CharIter { - public: - CFX_CharIter(const CFX_WideString& wsText); - virtual void Release(); - virtual FX_BOOL Next(FX_BOOL bPrev = FALSE); - virtual FX_WCHAR GetChar(); - virtual void SetAt(int32_t nIndex); - virtual int32_t GetAt() const; - virtual FX_BOOL IsEOF(FX_BOOL bTail = TRUE) const; - virtual IFX_CharIter* Clone(); - - protected: - ~CFX_CharIter(); - - private: - const CFX_WideString& m_wsText; - int32_t m_nIndex; -}; -class CFX_WordBreak : public IFX_WordBreak { - public: - CFX_WordBreak(); - virtual void Release(); - virtual void Attach(IFX_CharIter* pIter); - virtual void Attach(const CFX_WideString& wsText); - virtual FX_BOOL Next(FX_BOOL bPrev); - virtual void SetAt(int32_t nIndex); - virtual int32_t GetWordPos() const; - virtual int32_t GetWordLength() const; - virtual void GetWord(CFX_WideString& wsWord) const; - virtual FX_BOOL IsEOF(FX_BOOL bTail) const; - - protected: - ~CFX_WordBreak(); - FX_BOOL FindNextBreakPos(IFX_CharIter* pIter, - FX_BOOL bPrev, - FX_BOOL bFromNext = TRUE); - - private: - IFX_CharIter* m_pPreIter; - IFX_CharIter* m_pCurIter; -}; #endif // XFA_FEE_FX_WORDBREAK_FX_WORDBREAK_IMPL_H_ |