diff options
Diffstat (limited to 'kfile-plugins/pdf/poppler-qt/poppler-private.h')
-rw-r--r-- | kfile-plugins/pdf/poppler-qt/poppler-private.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/kfile-plugins/pdf/poppler-qt/poppler-private.h b/kfile-plugins/pdf/poppler-qt/poppler-private.h new file mode 100644 index 00000000..0d68e505 --- /dev/null +++ b/kfile-plugins/pdf/poppler-qt/poppler-private.h @@ -0,0 +1,97 @@ +/* poppler-private.h: qt interface to poppler + * Copyright (C) 2005, Net Integration Technologies, Inc. + * Copyright (C) 2005-2008, Albert Astals Cid <[email protected]> + * Copyright (C) 2006, Kristian Høgsberg <[email protected]> + * Copyright (C) 2006, Wilfried Huss <[email protected]> + * Copyright (C) 2007, Pino Toscano <[email protected]> + * + * 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. + */ + +#ifndef POPPLER_PRIVATE_H +#define POPPLER_PRIVATE_H + +#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 DocumentData; + +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; +}; + +} + +#endif // POPPLER_PRIVATE_H |