| // Copyright 2014 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 XFA_FDE_CFDE_TXTEDTPARAG_H_ |
| #define XFA_FDE_CFDE_TXTEDTPARAG_H_ |
| |
| #include <stdint.h> |
| |
| class CFDE_TxtEdtEngine; |
| |
| class CFDE_TxtEdtParag { |
| public: |
| explicit CFDE_TxtEdtParag(CFDE_TxtEdtEngine* pEngine); |
| ~CFDE_TxtEdtParag(); |
| |
| int32_t GetTextLength() const { return m_nCharCount; } |
| int32_t GetStartIndex() const { return m_nCharStart; } |
| int32_t GetLineCount() const { return m_nLineCount; } |
| |
| void SetTextLength(int32_t len) { m_nCharCount = len; } |
| void IncrementTextLength(int32_t len) { m_nCharCount += len; } |
| void SetStartIndex(int32_t idx) { m_nCharStart = idx; } |
| void IncrementStartIndex(int32_t val) { m_nCharStart += val; } |
| void DecrementStartIndex(int32_t val) { m_nCharStart -= val; } |
| void SetLineCount(int32_t count) { m_nLineCount = count; } |
| |
| void GetLineRange(int32_t nLineIndex, int32_t& nStart, int32_t& nCount) const; |
| void LoadParag(); |
| void UnloadParag(); |
| void CalcLines(); |
| |
| private: |
| int32_t m_nCharStart; |
| int32_t m_nCharCount; |
| int32_t m_nLineCount; |
| int32_t* m_lpData; |
| CFDE_TxtEdtEngine* m_pEngine; |
| }; |
| |
| #endif // XFA_FDE_CFDE_TXTEDTPARAG_H_ |