summaryrefslogtreecommitdiff
path: root/goo/ImgWriter.h
blob: 2ab97cdb4b2489190d7459146452378b0bf665c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//========================================================================
//
// ImgWriter.h
//
// This file is licensed under the GPLv2 or later
//
// Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2010 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2010 Brian Cameron <brian.cameron@oracle.com>
// Copyright (C) 2011 Thomas Freitag <Thomas.Freitag@alfa.de>
//
//========================================================================

#ifndef IMGWRITER_H
#define IMGWRITER_H

#include <stdio.h>

class ImgWriter
{
public:
  ImgWriter() = default;
  ImgWriter(const ImgWriter &) = delete;
  ImgWriter& operator=(const ImgWriter &other) = delete;

  virtual ~ImgWriter();
  virtual bool init(FILE *f, int width, int height, int hDPI, int vDPI) = 0;

  virtual bool writePointers(unsigned char **rowPointers, int rowCount) = 0;
  virtual bool writeRow(unsigned char **row) = 0;

  virtual bool close() = 0;
  virtual bool supportCMYK() { return false; }
};

#endif