1 /* poppler-page.cc: qt interface to poppler
2  * Copyright (C) 2005, Net Integration Technologies, Inc.
3  * Copyright (C) 2007, 2012, Albert Astals Cid <aacid@kde.org>
4  * Copyright (C) 2008, Pino Toscano <pino@kde.org>
5  * Copyright (C) 2015 Adam Reichold <adamreichold@myopera.com>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
20  */
21 
22 #ifndef _POPPLER_PAGE_PRIVATE_H_
23 #define _POPPLER_PAGE_PRIVATE_H_
24 
25 #include "CharTypes.h"
26 
27 class QRectF;
28 
29 class LinkAction;
30 class Page;
31 class TextPage;
32 
33 namespace Poppler
34 {
35 
36 class DocumentData;
37 class PageTransition;
38 
39 class PageData {
40 public:
41   Link* convertLinkActionToLink(::LinkAction * a, const QRectF &linkArea);
42 
43   DocumentData *parentDoc;
44   ::Page *page;
45   int index;
46   PageTransition *transition;
47 
48   static Link* convertLinkActionToLink(::LinkAction * a, DocumentData *parentDoc, const QRectF &linkArea);
49 
50   TextPage *prepareTextSearch(const QString &text, Page::Rotation rotate, QVector<Unicode> *u);
51   GBool performSingleTextSearch(TextPage* textPage, QVector<Unicode> &u, double &sLeft, double &sTop, double &sRight, double &sBottom, Page::SearchDirection direction, GBool sCase, GBool sWords);
52   QList<QRectF> performMultipleTextSearch(TextPage* textPage, QVector<Unicode> &u, GBool sCase, GBool sWords);
53 };
54 
55 }
56 
57 #endif
58