| /* poppler-private.h: qt interface to poppler |
| * Copyright (C) 2005, Net Integration Technologies, Inc. |
| * Copyright (C) 2005-2008, 2010 Albert Astals Cid <aacid@kde.org> |
| * Copyright (C) 2006, Kristian Høgsberg <krh@bitplanet.net> |
| * Copyright (C) 2006, Wilfried Huss <Wilfried.Huss@gmx.at> |
| * Copyright (C) 2007, Pino Toscano <pino@kde.org> |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2, or (at your option) |
| * any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
| */ |
| |
| #include <qdom.h> |
| |
| #include <config.h> |
| #include <Object.h> |
| #include <PDFDoc.h> |
| #include <FontInfo.h> |
| #if defined(HAVE_SPLASH) |
| #include <SplashOutputDev.h> |
| #else |
| class SplashOutputDev; |
| #endif |
| |
| namespace Poppler { |
| |
| class Document; |
| class DocumentData; |
| class PageTransition; |
| |
| QString unicodeToQString(Unicode* u, int len); |
| |
| QString UnicodeParsedString(GooString *s1); |
| |
| GooString *QStringToGooString(const QString &s); |
| |
| class LinkDestinationData { |
| public: |
| LinkDestinationData( LinkDest *l, GooString *nd, Poppler::DocumentData *pdfdoc ) : ld(l), namedDest(nd), doc(pdfdoc) |
| { |
| } |
| |
| LinkDest *ld; |
| GooString *namedDest; |
| Poppler::DocumentData *doc; |
| }; |
| |
| class DocumentData { |
| public: |
| DocumentData(GooString *filePath, GooString *password) : doc(filePath,password), m_fontInfoScanner(0), m_outputDev(0) {} |
| |
| ~DocumentData() |
| { |
| #if defined(HAVE_SPLASH) |
| delete m_outputDev; |
| #endif |
| delete m_fontInfoScanner; |
| } |
| |
| SplashOutputDev *getOutputDev() |
| { |
| #if defined(HAVE_SPLASH) |
| if (!m_outputDev) |
| { |
| SplashColor white; |
| white[0] = 255; |
| white[1] = 255; |
| white[2] = 255; |
| m_outputDev = new SplashOutputDev(splashModeXBGR8, 4, gFalse, white); |
| m_outputDev->startDoc(doc.getXRef()); |
| } |
| #endif |
| return m_outputDev; |
| } |
| |
| void addTocChildren( QDomDocument * docSyn, QDomNode * parent, GooList * items ); |
| |
| class PDFDoc doc; |
| bool locked; |
| FontInfoScanner *m_fontInfoScanner; |
| SplashOutputDev *m_outputDev; |
| }; |
| |
| class PageData { |
| public: |
| const Document *doc; |
| int index; |
| PageTransition *transition; |
| ::Page *page; |
| }; |
| |
| } |