1// Copyright 2014 PDFium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7#ifndef XFA_FDE_CFDE_TXTEDTPARAG_H_ 8#define XFA_FDE_CFDE_TXTEDTPARAG_H_ 9 10#include <stdint.h> 11 12class CFDE_TxtEdtEngine; 13 14class CFDE_TxtEdtParag { 15 public: 16 explicit CFDE_TxtEdtParag(CFDE_TxtEdtEngine* pEngine); 17 ~CFDE_TxtEdtParag(); 18 19 int32_t GetTextLength() const { return m_nCharCount; } 20 int32_t GetStartIndex() const { return m_nCharStart; } 21 int32_t GetLineCount() const { return m_nLineCount; } 22 23 void SetTextLength(int32_t len) { m_nCharCount = len; } 24 void IncrementTextLength(int32_t len) { m_nCharCount += len; } 25 void SetStartIndex(int32_t idx) { m_nCharStart = idx; } 26 void IncrementStartIndex(int32_t val) { m_nCharStart += val; } 27 void DecrementStartIndex(int32_t val) { m_nCharStart -= val; } 28 void SetLineCount(int32_t count) { m_nLineCount = count; } 29 30 void GetLineRange(int32_t nLineIndex, int32_t& nStart, int32_t& nCount) const; 31 void LoadParag(); 32 void UnloadParag(); 33 void CalcLines(); 34 35 private: 36 int32_t m_nCharStart; 37 int32_t m_nCharCount; 38 int32_t m_nLineCount; 39 int32_t* m_lpData; 40 CFDE_TxtEdtEngine* m_pEngine; 41}; 42 43#endif // XFA_FDE_CFDE_TXTEDTPARAG_H_ 44