summaryrefslogtreecommitdiff
path: root/xfa/src/fee/include/ifde_txtedtbuf.h
blob: a367446da5196b5bfbdc3f8582f74dea013bd599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// 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 _IFDE_TXTEDTBUF_H
#define _IFDE_TXTEDTBUF_H
#define FDE_DEFCHUNKLENGTH (1024)

class IFDE_TxtEdtBuf {
 public:
  virtual ~IFDE_TxtEdtBuf() {}
  virtual void Release() = 0;

  virtual FX_BOOL SetChunkSize(int32_t nChunkSize) = 0;
  virtual int32_t GetChunkSize() const = 0;
  virtual int32_t GetTextLength() const = 0;
  virtual void SetText(const CFX_WideString& wsText) = 0;
  virtual void GetText(CFX_WideString& wsText) const = 0;
  virtual FX_WCHAR GetCharByIndex(int32_t nIndex) const = 0;
  virtual void GetRange(CFX_WideString& wsText,
                        int32_t nBegin,
                        int32_t nCount = -1) const = 0;

  virtual void Insert(int32_t nPos,
                      const FX_WCHAR* lpText,
                      int32_t nLength = 1) = 0;
  virtual void Delete(int32_t nIndex, int32_t nLength = 1) = 0;

  virtual void Clear(FX_BOOL bRelease = TRUE) = 0;

  virtual FX_BOOL Optimize(IFX_Pause* pPause = NULL) = 0;
};
#endif