Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_gif_export.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#include "kis_gif_export.h"
8
9#include <QCheckBox>
10#include <QSlider>
11
12#include <kpluginfactory.h>
13#include <QApplication>
17#include <kis_paint_device.h>
18#include <KisDocument.h>
19#include <kis_image.h>
20#include <kis_paint_layer.h>
21
22#include "qgiflibhandler.h"
23
24K_PLUGIN_FACTORY_WITH_JSON(KisGIFExportFactory, "krita_gif_export.json", registerPlugin<KisGIFExport>();)
25
26KisGIFExport::KisGIFExport(QObject *parent, const QVariantList &) : KisImportExportFilter(parent)
27{
28}
29
33
35{
36 Q_UNUSED(configuration);
37 QRect rc = document->savingImage()->bounds();
38 QImage image = document->savingImage()->projection()->convertToQImage(0, 0, 0, rc.width(), rc.height(), KoColorConversionTransformation::internalRenderingIntent(), KoColorConversionTransformation::internalConversionFlags());
39
40 QGIFLibHandler handler;
41 handler.setDevice(io);
42 bool result = handler.write(image);
43 if (!result) {
46 }
48}
49
51{
52
53 QList<QPair<KoID, KoID> > supportedColorModels;
54 supportedColorModels << QPair<KoID, KoID>()
55 << QPair<KoID, KoID>(RGBAColorModelID, Integer8BitsColorDepthID);
56 addSupportedColorModels(supportedColorModels, "GIF");
57}
58
59
60
61#include "kis_gif_export.moc"
62
const KoID Integer8BitsColorDepthID("U8", ki18n("8-bit integer/channel"))
const KoID RGBAColorModelID("RGBA", ki18n("RGB/Alpha"))
KisImportExportErrorCode convert(KisDocument *document, QIODevice *io, KisPropertiesConfigurationSP configuration=0) override
KisGIFExport(QObject *parent, const QVariantList &)
~KisGIFExport() override
void initializeCapabilities() override
The base class for import and export filters.
void addSupportedColorModels(QList< QPair< KoID, KoID > > supportedColorModels, const QString &name, KisExportCheckBase::Level level=KisExportCheckBase::PARTIALLY)
bool write(const QImage &image) override
K_PLUGIN_FACTORY_WITH_JSON(KritaASCCDLFactory, "kritaasccdl.json", registerPlugin< KritaASCCDL >();) KritaASCCDL
#define KIS_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:85