summaryrefslogtreecommitdiff
path: root/xfa/fde/cfde_txtedtparag.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fde/cfde_txtedtparag.h')
-rw-r--r--xfa/fde/cfde_txtedtparag.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/xfa/fde/cfde_txtedtparag.h b/xfa/fde/cfde_txtedtparag.h
new file mode 100644
index 0000000000..74eaaff088
--- /dev/null
+++ b/xfa/fde/cfde_txtedtparag.h
@@ -0,0 +1,43 @@
+// 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;
+ void* m_lpData;
+ CFDE_TxtEdtEngine* m_pEngine;
+};
+
+#endif // XFA_FDE_CFDE_TXTEDTPARAG_H_