| // 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_FEE_IFDE_TXTEDTBUF_H_ |
| #define XFA_FEE_IFDE_TXTEDTBUF_H_ |
| |
| #include "core/fxcrt/include/fx_basic.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 // XFA_FEE_IFDE_TXTEDTBUF_H_ |