1ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved.
2ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
3ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// found in the LICENSE file.
4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
5ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifndef _FDE_TXTEDTPARAG_H
8ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define _FDE_TXTEDTPARAG_H
9ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CFDE_TxtEdtEngine;
10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CFDE_TxtEdtParag;
11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CFDE_TxtEdtParag : public IFDE_TxtEdtParag {
12ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann public:
13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CFDE_TxtEdtParag(CFDE_TxtEdtEngine* pEngine);
14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  ~CFDE_TxtEdtParag();
15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual int32_t GetTextLength() const { return m_nCharCount; }
16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual int32_t GetStartIndex() const { return m_nCharStart; }
17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual int32_t CountLines() const { return m_nLineCount; }
18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual void GetLineRange(int32_t nLineIndex,
19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                            int32_t& nStart,
20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                            int32_t& nCount) const;
21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void LoadParag();
22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void UnloadParag();
23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void CalcLines();
24ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int32_t m_nCharStart;
25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int32_t m_nCharCount;
26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int32_t m_nLineCount;
27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann private:
29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void* m_lpData;
30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CFDE_TxtEdtEngine* m_pEngine;
31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann};
32ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif
33