summaryrefslogtreecommitdiff
path: root/xfa/src/fee/include/ifde_txtedtpage.h
blob: 7555434f5f143b50a32264424f472feeccfdb646 (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
// 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_TXTEDTPAGE_H
#define _IFDE_TXTEDTPAGE_H
class IFDE_TxtEdtEngine;
class IFDE_TxtEdtPage;
class IFDE_TxtEdtPage : public IFDE_CanvasSet, public IFX_TxtAccess
{
public:
    static IFDE_TxtEdtPage * Create(IFDE_TxtEdtEngine * pEngine, FX_INT32 nIndex);

    virtual void				Release() = 0;

    virtual IFDE_TxtEdtEngine * GetEngine() const = 0;
    virtual FX_INT32	GetCharRect(FX_INT32 nIndex, CFX_RectF &rect, FX_BOOL bBBox = FALSE) const = 0;
    virtual FX_INT32	GetCharIndex(const CFX_PointF &fPoint, FX_BOOL &bBefore) = 0;
    virtual void		CalcRangeRectArray(FX_INT32 nStart, FX_INT32 nCount, CFX_RectFArray &RectFArr) const = 0;
    virtual FX_INT32	SelectWord (const CFX_PointF &fPoint, FX_INT32 &nCount) = 0;
    virtual FX_INT32	GetCharStart() const = 0;
    virtual FX_INT32	GetCharCount() const = 0;

    virtual FX_INT32	GetDisplayPos(const CFX_RectF &rtClip, FXTEXT_CHARPOS* &pCharPos, FX_LPRECTF pBBox = NULL) const = 0;
    virtual FX_BOOL				IsLoaded(FX_LPCRECTF pClipBox = NULL) = 0;
    virtual FX_INT32			LoadPage(FX_LPCRECTF pClipBox = NULL, IFX_Pause *pPause = NULL) = 0;
    virtual void				UnloadPage(FX_LPCRECTF pClipBox = NULL) = 0;
    virtual const CFX_RectF&		GetContentsBox() = 0;
};
#endif