diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 47d455dd55be855e4cc691c32f687f723d9247ee (patch) | |
tree | 52e236aaa2576bdb3840ebede26619692fed6d7d /kpdf/core/generator_kimgio | |
download | tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpdf/core/generator_kimgio')
-rw-r--r-- | kpdf/core/generator_kimgio/Makefile.am | 6 | ||||
-rw-r--r-- | kpdf/core/generator_kimgio/generator_kimgio.cpp | 72 | ||||
-rw-r--r-- | kpdf/core/generator_kimgio/generator_kimgio.h | 43 |
3 files changed, 121 insertions, 0 deletions
diff --git a/kpdf/core/generator_kimgio/Makefile.am b/kpdf/core/generator_kimgio/Makefile.am new file mode 100644 index 00000000..5a93221d --- /dev/null +++ b/kpdf/core/generator_kimgio/Makefile.am @@ -0,0 +1,6 @@ +INCLUDES = -I$(srcdir)/../../ $(all_includes) + +libgeneratorkimgio_la_LDFLAGS = $(all_libraries) +libgeneratorkimgio_la_SOURCES = generator_kimgio.cpp + +noinst_LTLIBRARIES = libgeneratorkimgio.la diff --git a/kpdf/core/generator_kimgio/generator_kimgio.cpp b/kpdf/core/generator_kimgio/generator_kimgio.cpp new file mode 100644 index 00000000..bb754686 --- /dev/null +++ b/kpdf/core/generator_kimgio/generator_kimgio.cpp @@ -0,0 +1,72 @@ +/*************************************************************************** + * Copyright (C) 2005 by Albert Astals Cid <tsdgeos@terra.es> * + * * + * 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 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#include <qpainter.h> +#include <qpixmap.h> +#include <kprinter.h> + +#include "core/page.h" +#include "generator_kimgio.h" + +KIMGIOGenerator::KIMGIOGenerator( KPDFDocument * document ) : Generator( document ) +{ +} + +KIMGIOGenerator::~KIMGIOGenerator() +{ + delete m_pix; +} + +bool KIMGIOGenerator::loadDocument( const QString & fileName, QValueVector<KPDFPage*> & pagesVector ) +{ + m_pix = new QPixmap(fileName); + + pagesVector.resize( 1 ); + + KPDFPage * page = new KPDFPage( 0, m_pix->width(), m_pix->height(), 0 ); + pagesVector[0] = page; + + return true; +} + +bool KIMGIOGenerator::canGeneratePixmap() +{ + return true; +} + +void KIMGIOGenerator::generatePixmap( PixmapRequest * request ) +{ + QPixmap *p = new QPixmap(*m_pix); + request->page->setPixmap(request->id, p); +} + +void KIMGIOGenerator::generateSyncTextPage( KPDFPage * ) +{ +} + +bool KIMGIOGenerator::supportsSearching() const +{ + return false; +} + +bool KIMGIOGenerator::hasFonts() const +{ + return false; +} + +void KIMGIOGenerator::putFontInfo( KListView * ) +{ +} + +bool KIMGIOGenerator::print( KPrinter& printer ) +{ + QPainter p(&printer); + p.drawPixmap(0, 0, *m_pix); + return true; +} diff --git a/kpdf/core/generator_kimgio/generator_kimgio.h b/kpdf/core/generator_kimgio/generator_kimgio.h new file mode 100644 index 00000000..bda411f2 --- /dev/null +++ b/kpdf/core/generator_kimgio/generator_kimgio.h @@ -0,0 +1,43 @@ +/*************************************************************************** + * Copyright (C) 2005 by Albert Astals Cid <tsdgeos@terra.es> * + * * + * 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 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef _KPDF_GENERATOR_PNG_H_ +#define _KPDF_GENERATOR_PNG_H_ + +#include "core/generator.h" + +class KIMGIOGenerator : public Generator +{ + public: + KIMGIOGenerator( KPDFDocument * document ); + virtual ~KIMGIOGenerator(); + + // [INHERITED] load a document and fill up the pagesVector + bool loadDocument( const QString & fileName, QValueVector<KPDFPage*> & pagesVector ); + + // [INHERITED] perform actions on document / pages + bool canGeneratePixmap(); + void generatePixmap( PixmapRequest * request ); + void generateSyncTextPage( KPDFPage * page ); + + // [INHERITED] capability querying + bool supportsSearching() const; + bool hasFonts() const; + + // font related + void putFontInfo(KListView *list); + + // [INHERITED] print document using already configured kprinter + bool print( KPrinter& printer ); + + private: + QPixmap *m_pix; +}; + +#endif |