kis_tiff_writer_visitor.h
1/*
2 * Copyright (c) 2006 Cyrille Berger <cberger@cberger.net>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program 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
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20#ifndef KIS_TIFF_WRITER_VISITOR_H
21#define KIS_TIFF_WRITER_VISITOR_H
22
23#include <kis_layer_visitor.h>
24
25#include <kis_iterators_pixel.h>
26
27#include <tiffio.h>
28
29class KisTIFFOptions;
30
34class KisTIFFWriterVisitor : public KisLayerVisitor
35{
36 public:
37 KisTIFFWriterVisitor(TIFF*img, KisTIFFOptions* options);
39 public:
40 virtual bool visit(KisPaintLayer *layer);
41 virtual bool visit(KisGroupLayer *layer);
42 virtual bool visit(KisPartLayer *layer);
43 virtual bool visit(KisAdjustmentLayer* ) { return true; }
44 private:
45 inline TIFF* image() { return m_image; }
46 inline bool saveAlpha();
47 bool copyDataToStrips( KisHLineIterator it, tdata_t buff, uint8 depth, uint8 nbcolorssamples, TQ_UINT8* poses);
48 private:
49 TIFF* m_image;
50 KisTIFFOptions* m_options;
51};
52
53#endif