23#include <tdemessagebox.h>
25#include <KoFilterChain.h>
27#include <kgenericfactory.h>
28#include <KoDocument.h>
30#include "KPrDocument.h"
33#include "imageexport.h"
35ImageExport::ImageExport(KoFilter *,
const char *,
const TQStringList&)
40ImageExport::~ImageExport()
45KoFilter::ConversionStatus
46ImageExport::convert(
const TQCString& from,
const TQCString& to)
48 KoDocument * document = m_chain->inputDocument();
51 return KoFilter::StupidError;
53 if ( strcmp(document->className(),
"KPrDocument") != 0)
55 kdWarning() <<
"document isn't a KPrDocument but a "
56 << document->className() << endl;
57 return KoFilter::NotImplemented;
61 if ( from !=
"application/x-kpresenter" || to != exportFormat() )
63 kdWarning() <<
"Invalid mimetypes " << to <<
" " << from << endl;
64 return KoFilter::NotImplemented;
66 KPrDocument * kpresenterdoc =
const_cast<KPrDocument *
>(
static_cast<const KPrDocument *
>(document));
68 if ( kpresenterdoc->mimeType() !=
"application/x-kpresenter" )
70 kdWarning() <<
"Invalid document mimetype " << kpresenterdoc->mimeType() << endl;
71 return KoFilter::NotImplemented;
73 KoPageLayout layoutPage= kpresenterdoc->pageLayout();
74 width = int( layoutPage.ptWidth );
75 height = int( layoutPage.ptHeight );
76 if (extraImageAttribute())
78 KPrView* view =
static_cast<KPrView*
>( kpresenterdoc->views().getFirst());
81 KPrCanvas * canvas = view->getCanvas();
82 canvas->drawPageInPix( pixmap, view->getCurrPgNum()-1, 0,
true, width,height );
86 pixmap = TQPixmap(width, height);
87 TQPainter painter(&pixmap);
88 kpresenterdoc->paintContent(painter, pixmap.rect(),
false);
90 if( !saveImage( m_chain->outputFile()))
91 return KoFilter::CreationError;
94 return KoFilter::UserCancelled;
98#include "imageexport.moc"