Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fee / include / ifde_txtedtpage.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_TXTEDTPAGE_H\r
8 #define _IFDE_TXTEDTPAGE_H\r
9 class IFDE_TxtEdtEngine;\r
10 class IFDE_TxtEdtPage;\r
11 class IFDE_TxtEdtPage : public IFDE_CanvasSet, public IFX_TxtAccess\r
12 {\r
13 public:\r
14     static IFDE_TxtEdtPage * Create(IFDE_TxtEdtEngine * pEngine, FX_INT32 nIndex);\r
15 \r
16     virtual void                                Release() = 0;\r
17 \r
18     virtual IFDE_TxtEdtEngine * GetEngine() const = 0;\r
19     virtual FX_INT32    GetCharRect(FX_INT32 nIndex, CFX_RectF &rect, FX_BOOL bBBox = FALSE) const = 0;\r
20     virtual FX_INT32    GetCharIndex(const CFX_PointF &fPoint, FX_BOOL &bBefore) = 0;\r
21     virtual void                CalcRangeRectArray(FX_INT32 nStart, FX_INT32 nCount, CFX_RectFArray &RectFArr) const = 0;\r
22     virtual FX_INT32    SelectWord (const CFX_PointF &fPoint, FX_INT32 &nCount) = 0;\r
23     virtual FX_INT32    GetCharStart() const = 0;\r
24     virtual FX_INT32    GetCharCount() const = 0;\r
25 \r
26     virtual FX_INT32    GetDisplayPos(const CFX_RectF &rtClip, FXTEXT_CHARPOS* &pCharPos, FX_LPRECTF pBBox = NULL) const = 0;\r
27     virtual FX_BOOL                             IsLoaded(FX_LPCRECTF pClipBox = NULL) = 0;\r
28     virtual FX_INT32                    LoadPage(FX_LPCRECTF pClipBox = NULL, IFX_Pause *pPause = NULL) = 0;\r
29     virtual void                                UnloadPage(FX_LPCRECTF pClipBox = NULL) = 0;\r
30     virtual const CFX_RectF&            GetContentsBox() = 0;\r
31 };\r
32 #endif\r