OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "xfa/fee/fde_txtedtengine.h" | 7 #include "xfa/fee/fde_txtedtengine.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
947 ClearSelection(); | 947 ClearSelection(); |
948 m_nCaret = 0; | 948 m_nCaret = 0; |
949 m_pTxtBuf->Clear(FALSE); | 949 m_pTxtBuf->Clear(FALSE); |
950 m_nCaret = 0; | 950 m_nCaret = 0; |
951 } | 951 } |
952 void CFDE_TxtEdtEngine::RebuildParagraphs() { | 952 void CFDE_TxtEdtEngine::RebuildParagraphs() { |
953 RemoveAllParags(); | 953 RemoveAllParags(); |
954 FX_WCHAR wChar = L' '; | 954 FX_WCHAR wChar = L' '; |
955 int32_t nParagStart = 0; | 955 int32_t nParagStart = 0; |
956 int32_t nIndex = 0; | 956 int32_t nIndex = 0; |
957 IFX_CharIter* pIter = new CFDE_TxtEdtBufIter((CFDE_TxtEdtBuf*)m_pTxtBuf); | 957 std::unique_ptr<IFX_CharIter> pIter( |
| 958 new CFDE_TxtEdtBufIter(static_cast<CFDE_TxtEdtBuf*>(m_pTxtBuf))); |
958 pIter->SetAt(0); | 959 pIter->SetAt(0); |
959 do { | 960 do { |
960 wChar = pIter->GetChar(); | 961 wChar = pIter->GetChar(); |
961 nIndex = pIter->GetAt(); | 962 nIndex = pIter->GetAt(); |
962 if (wChar == m_wLineEnd) { | 963 if (wChar == m_wLineEnd) { |
963 CFDE_TxtEdtParag* pParag = new CFDE_TxtEdtParag(this); | 964 CFDE_TxtEdtParag* pParag = new CFDE_TxtEdtParag(this); |
964 pParag->SetStartIndex(nParagStart); | 965 pParag->SetStartIndex(nParagStart); |
965 pParag->SetTextLength(nIndex - nParagStart + 1); | 966 pParag->SetTextLength(nIndex - nParagStart + 1); |
966 pParag->SetLineCount(-1); | 967 pParag->SetLineCount(-1); |
967 m_ParagPtrArray.Add(pParag); | 968 m_ParagPtrArray.Add(pParag); |
968 nParagStart = nIndex + 1; | 969 nParagStart = nIndex + 1; |
969 } | 970 } |
970 } while (pIter->Next()); | 971 } while (pIter->Next()); |
971 pIter->Release(); | |
972 } | 972 } |
973 | 973 |
974 void CFDE_TxtEdtEngine::RemoveAllParags() { | 974 void CFDE_TxtEdtEngine::RemoveAllParags() { |
975 int32_t nCount = m_ParagPtrArray.GetSize(); | 975 int32_t nCount = m_ParagPtrArray.GetSize(); |
976 for (int i = 0; i < nCount; ++i) | 976 for (int i = 0; i < nCount; ++i) |
977 delete m_ParagPtrArray[i]; | 977 delete m_ParagPtrArray[i]; |
978 m_ParagPtrArray.RemoveAll(); | 978 m_ParagPtrArray.RemoveAll(); |
979 } | 979 } |
980 | 980 |
981 void CFDE_TxtEdtEngine::RemoveAllPages() { | 981 void CFDE_TxtEdtEngine::RemoveAllPages() { |
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1751 int32_t nEngine = 0; | 1751 int32_t nEngine = 0; |
1752 ArchiveLoader >> nEngine; | 1752 ArchiveLoader >> nEngine; |
1753 m_pEngine = (CFDE_TxtEdtEngine*)(uintptr_t)nEngine; | 1753 m_pEngine = (CFDE_TxtEdtEngine*)(uintptr_t)nEngine; |
1754 int32_t iSel = 0; | 1754 int32_t iSel = 0; |
1755 ArchiveLoader >> iSel; | 1755 ArchiveLoader >> iSel; |
1756 m_bSel = !!iSel; | 1756 m_bSel = !!iSel; |
1757 ArchiveLoader >> m_nIndex; | 1757 ArchiveLoader >> m_nIndex; |
1758 ArchiveLoader >> m_nCaret; | 1758 ArchiveLoader >> m_nCaret; |
1759 ArchiveLoader >> m_wsRange; | 1759 ArchiveLoader >> m_wsRange; |
1760 } | 1760 } |
OLD | NEW |