Home | History | Annotate | Download | only in include
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef _IFDE_TXTEDTBUF_H
      8 #define _IFDE_TXTEDTBUF_H
      9 #define FDE_DEFCHUNKLENGTH (1024)
     10 
     11 class IFDE_TxtEdtBuf {
     12  public:
     13   virtual ~IFDE_TxtEdtBuf() {}
     14   virtual void Release() = 0;
     15 
     16   virtual FX_BOOL SetChunkSize(int32_t nChunkSize) = 0;
     17   virtual int32_t GetChunkSize() const = 0;
     18   virtual int32_t GetTextLength() const = 0;
     19   virtual void SetText(const CFX_WideString& wsText) = 0;
     20   virtual void GetText(CFX_WideString& wsText) const = 0;
     21   virtual FX_WCHAR GetCharByIndex(int32_t nIndex) const = 0;
     22   virtual void GetRange(CFX_WideString& wsText,
     23                         int32_t nBegin,
     24                         int32_t nCount = -1) const = 0;
     25 
     26   virtual void Insert(int32_t nPos,
     27                       const FX_WCHAR* lpText,
     28                       int32_t nLength = 1) = 0;
     29   virtual void Delete(int32_t nIndex, int32_t nLength = 1) = 0;
     30 
     31   virtual void Clear(FX_BOOL bRelease = TRUE) = 0;
     32 
     33   virtual FX_BOOL Optimize(IFX_Pause* pPause = NULL) = 0;
     34 };
     35 #endif
     36