Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fee / include / ifde_txtedtbuf.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _IFDE_TXTEDTBUF_H\r
8 #define _IFDE_TXTEDTBUF_H\r
9 #define FDE_DEFCHUNKLENGTH      (1024)\r
10 class IFDE_TxtEdtBuf;\r
11 class IFDE_TxtEdtBuf\r
12 {\r
13 public:\r
14     virtual void                Release() = 0;\r
15 \r
16     virtual FX_BOOL             SetChunkSize(FX_INT32 nChunkSize) = 0;\r
17     virtual FX_INT32    GetChunkSize() const = 0;\r
18     virtual FX_INT32    GetTextLength() const = 0;\r
19     virtual void                SetText(const CFX_WideString &wsText) = 0;\r
20     virtual void                GetText(CFX_WideString &wsText) const = 0;\r
21     virtual FX_WCHAR    GetCharByIndex(FX_INT32 nIndex) const = 0;\r
22     virtual void                GetRange(CFX_WideString &wsText, FX_INT32 nBegin, FX_INT32 nCount = - 1) const = 0;\r
23 \r
24     virtual void                Insert(FX_INT32 nPos, FX_LPCWSTR lpText, FX_INT32 nLength = 1) = 0;\r
25     virtual void                Delete(FX_INT32 nIndex, FX_INT32 nLength = 1) = 0;\r
26 \r
27     virtual void                Clear(FX_BOOL bRelease = TRUE) = 0;\r
28 \r
29     virtual FX_BOOL             Optimize(IFX_Pause * pPause = NULL) = 0;\r
30 };\r
31 #endif\r