| OLD | NEW | 
|---|
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef CORE_FPDFDOC_CSECTION_H_ | 7 #ifndef CORE_FPDFDOC_CSECTION_H_ | 
| 8 #define CORE_FPDFDOC_CSECTION_H_ | 8 #define CORE_FPDFDOC_CSECTION_H_ | 
| 9 | 9 | 
| 10 #include "core/fpdfdoc/cpvt_sectioninfo.h" | 10 #include "core/fpdfdoc/cpvt_sectioninfo.h" | 
| 11 #include "core/fpdfdoc/ctypeset.h" | 11 #include "core/fpdfdoc/ctypeset.h" | 
| 12 #include "core/fxcrt/include/fx_coordinates.h" | 12 #include "core/fxcrt/include/fx_coordinates.h" | 
| 13 #include "core/fxcrt/include/fx_system.h" | 13 #include "core/fxcrt/include/fx_system.h" | 
| 14 | 14 | 
| 15 class CPDF_VariableText; | 15 class CPDF_VariableText; | 
| 16 | 16 | 
| 17 struct CPVT_LineInfo; | 17 struct CPVT_LineInfo; | 
| 18 struct CPVT_WordLine; | 18 struct CPVT_WordLine; | 
| 19 struct CPVT_WordPlace; | 19 struct CPVT_WordPlace; | 
| 20 | 20 | 
| 21 class CSection { | 21 class CSection { | 
| 22  public: | 22  public: | 
| 23   explicit CSection(CPDF_VariableText* pVT); | 23   explicit CSection(CPDF_VariableText* pVT); | 
| 24   virtual ~CSection(); | 24   ~CSection(); | 
|  | 25 | 
| 25   void ResetAll(); | 26   void ResetAll(); | 
| 26   void ResetLineArray(); | 27   void ResetLineArray(); | 
| 27   void ResetWordArray(); | 28   void ResetWordArray(); | 
| 28   void ResetLinePlace(); | 29   void ResetLinePlace(); | 
| 29   CPVT_WordPlace AddWord(const CPVT_WordPlace& place, | 30   CPVT_WordPlace AddWord(const CPVT_WordPlace& place, | 
| 30                          const CPVT_WordInfo& wordinfo); | 31                          const CPVT_WordInfo& wordinfo); | 
| 31   CPVT_WordPlace AddLine(const CPVT_LineInfo& lineinfo); | 32   CPVT_WordPlace AddLine(const CPVT_LineInfo& lineinfo); | 
| 32   void ClearWords(const CPVT_WordRange& PlaceRange); | 33   void ClearWords(const CPVT_WordRange& PlaceRange); | 
| 33   void ClearWord(const CPVT_WordPlace& place); | 34   void ClearWord(const CPVT_WordPlace& place); | 
| 34   CPVT_FloatRect Rearrange(); | 35   CPVT_FloatRect Rearrange(); | 
| 35   CPVT_Size GetSectionSize(FX_FLOAT fFontSize); | 36   CFX_PointF GetSectionSize(FX_FLOAT fFontSize); | 
| 36   CPVT_WordPlace GetBeginWordPlace() const; | 37   CPVT_WordPlace GetBeginWordPlace() const; | 
| 37   CPVT_WordPlace GetEndWordPlace() const; | 38   CPVT_WordPlace GetEndWordPlace() const; | 
| 38   CPVT_WordPlace GetPrevWordPlace(const CPVT_WordPlace& place) const; | 39   CPVT_WordPlace GetPrevWordPlace(const CPVT_WordPlace& place) const; | 
| 39   CPVT_WordPlace GetNextWordPlace(const CPVT_WordPlace& place) const; | 40   CPVT_WordPlace GetNextWordPlace(const CPVT_WordPlace& place) const; | 
| 40   void UpdateWordPlace(CPVT_WordPlace& place) const; | 41   void UpdateWordPlace(CPVT_WordPlace& place) const; | 
| 41   CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const; | 42   CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const; | 
| 42   CPVT_WordPlace SearchWordPlace(FX_FLOAT fx, | 43   CPVT_WordPlace SearchWordPlace(FX_FLOAT fx, | 
| 43                                  const CPVT_WordPlace& lineplace) const; | 44                                  const CPVT_WordPlace& lineplace) const; | 
| 44   CPVT_WordPlace SearchWordPlace(FX_FLOAT fx, | 45   CPVT_WordPlace SearchWordPlace(FX_FLOAT fx, | 
| 45                                  const CPVT_WordRange& range) const; | 46                                  const CPVT_WordRange& range) const; | 
| 46 | 47 | 
| 47   CPVT_WordPlace SecPlace; | 48   CPVT_WordPlace SecPlace; | 
| 48   CPVT_SectionInfo m_SecInfo; | 49   CPVT_SectionInfo m_SecInfo; | 
| 49   CLines m_LineArray; | 50   CLines m_LineArray; | 
| 50   CPVT_ArrayTemplate<CPVT_WordInfo*> m_WordArray; | 51   CFX_ArrayTemplate<CPVT_WordInfo*> m_WordArray; | 
| 51 | 52 | 
| 52  private: | 53  private: | 
| 53   friend class CTypeset; | 54   friend class CTypeset; | 
| 54 | 55 | 
| 55   void ClearLeftWords(int32_t nWordIndex); | 56   void ClearLeftWords(int32_t nWordIndex); | 
| 56   void ClearRightWords(int32_t nWordIndex); | 57   void ClearRightWords(int32_t nWordIndex); | 
| 57   void ClearMidWords(int32_t nBeginIndex, int32_t nEndIndex); | 58   void ClearMidWords(int32_t nBeginIndex, int32_t nEndIndex); | 
| 58 | 59 | 
| 59   CPDF_VariableText* m_pVT; | 60   CPDF_VariableText* m_pVT; | 
| 60 }; | 61 }; | 
| 61 | 62 | 
| 62 #endif  // CORE_FPDFDOC_CSECTION_H_ | 63 #endif  // CORE_FPDFDOC_CSECTION_H_ | 
| OLD | NEW | 
|---|