kpresenter/png/pngexport.cpp
1/* This file is part of the KDE project
2 Copyright (C) 2005 Laurent Montel <montel@kde.org>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#include <tqpixmap.h>
21#include <tqpainter.h>
22
23#include <tdemessagebox.h>
24
25#include <KoFilterChain.h>
26#include <KoStore.h>
27#include <kgenericfactory.h>
28#include <KoDocument.h>
29
30#include "pngexport.h"
31#include "exportsizedia.h"
32
33typedef KGenericFactory<PngExport, KoFilter> PngExportFactory;
34K_EXPORT_COMPONENT_FACTORY( libkpresenterpngexport, PngExportFactory( "pngexport" ) )
35
36PngExport::PngExport(KoFilter *fil, const char *name, const TQStringList&lst)
37 : ImageExport(fil,name,lst)
38{
39}
40
41PngExport::~PngExport()
42{
43}
44
45bool PngExport::extraImageAttribute()
46{
47 bool ret = false;
48 ExportSizeDia *exportDialog = new ExportSizeDia( width, height,
49 0, "exportdialog");
50 if (exportDialog->exec()) {
51 width = exportDialog->width();
52 height = exportDialog->height();
53 ret = true;
54 kdDebug() << "PNG Export: size = [" << width << "," << height << "]" << endl;
55 }
56 delete exportDialog;
57 return ret;
58}
59
60const char * PngExport::exportFormat()
61{
62 return "image/png";
63}
64
65bool PngExport::saveImage( TQString fileName)
66{
67 bool ret = pixmap.save( fileName, "PNG" );
68 // Save the image.
69 if ( !ret ) {
70 KMessageBox::error( 0, i18n( "Failed to write file." ),
71 i18n( "PNG Export Error" ) );
72 }
73 return ret;
74}
75
76
77#include "pngexport.moc"
78