| Index: core/fpdfdoc/csection.h
|
| diff --git a/core/fpdfdoc/csection.h b/core/fpdfdoc/csection.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d8974cb02010af0e1ec1f92808d16f8adcb7abc1
|
| --- /dev/null
|
| +++ b/core/fpdfdoc/csection.h
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2016 PDFium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
| +
|
| +#ifndef CORE_FPDFDOC_CSECTION_H_
|
| +#define CORE_FPDFDOC_CSECTION_H_
|
| +
|
| +#include "core/fpdfdoc/cpvt_sectioninfo.h"
|
| +#include "core/fpdfdoc/ctypeset.h"
|
| +#include "core/fxcrt/include/fx_coordinates.h"
|
| +#include "core/fxcrt/include/fx_system.h"
|
| +
|
| +class CPDF_VariableText;
|
| +
|
| +struct CPVT_LineInfo;
|
| +struct CPVT_WordLine;
|
| +struct CPVT_WordPlace;
|
| +
|
| +class CSection {
|
| + public:
|
| + explicit CSection(CPDF_VariableText* pVT);
|
| + virtual ~CSection();
|
| + void ResetAll();
|
| + void ResetLineArray();
|
| + void ResetWordArray();
|
| + void ResetLinePlace();
|
| + CPVT_WordPlace AddWord(const CPVT_WordPlace& place,
|
| + const CPVT_WordInfo& wordinfo);
|
| + CPVT_WordPlace AddLine(const CPVT_LineInfo& lineinfo);
|
| + void ClearWords(const CPVT_WordRange& PlaceRange);
|
| + void ClearWord(const CPVT_WordPlace& place);
|
| + CPVT_FloatRect Rearrange();
|
| + CPVT_Size GetSectionSize(FX_FLOAT fFontSize);
|
| + CPVT_WordPlace GetBeginWordPlace() const;
|
| + CPVT_WordPlace GetEndWordPlace() const;
|
| + CPVT_WordPlace GetPrevWordPlace(const CPVT_WordPlace& place) const;
|
| + CPVT_WordPlace GetNextWordPlace(const CPVT_WordPlace& place) const;
|
| + void UpdateWordPlace(CPVT_WordPlace& place) const;
|
| + CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const;
|
| + CPVT_WordPlace SearchWordPlace(FX_FLOAT fx,
|
| + const CPVT_WordPlace& lineplace) const;
|
| + CPVT_WordPlace SearchWordPlace(FX_FLOAT fx,
|
| + const CPVT_WordRange& range) const;
|
| +
|
| + CPVT_WordPlace SecPlace;
|
| + CPVT_SectionInfo m_SecInfo;
|
| + CLines m_LineArray;
|
| + CPVT_ArrayTemplate<CPVT_WordInfo*> m_WordArray;
|
| +
|
| + private:
|
| + friend class CTypeset;
|
| +
|
| + void ClearLeftWords(int32_t nWordIndex);
|
| + void ClearRightWords(int32_t nWordIndex);
|
| + void ClearMidWords(int32_t nBeginIndex, int32_t nEndIndex);
|
| +
|
| + CPDF_VariableText* m_pVT;
|
| +};
|
| +
|
| +#endif // CORE_FPDFDOC_CSECTION_H_
|
|
|