From 6524c95bb8ea0339908ab9bff03211f8c42e77d9 Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Thu, 3 Aug 2006 20:45:57 +0200 Subject: add TIFFOutputImage --- src/OutputImage.cxx | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 src/OutputImage.cxx (limited to 'src/OutputImage.cxx') diff --git a/src/OutputImage.cxx b/src/OutputImage.cxx new file mode 100644 index 0000000..52af058 --- /dev/null +++ b/src/OutputImage.cxx @@ -0,0 +1,179 @@ +// +// Copyright 2006 by Johannes Hofmann +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// + +#include +#include + +#include "OutputImage.H" + +OutputImage::OutputImage() { + W = 0; + H = 0; + initialized = 0; +} + +OutputImage::~OutputImage() { +} + +int +OutputImage::init(int w1, int h1) { + W = w1; + H = h1; + line = 0; + initialized = 1; + + return init_internal(w1, h1); +} + + +int +OutputImage::init_internal(int w1, int h1) { + return 0; +} + +int +OutputImage::set_pixel(int x, char r, char g, char b) { + if (!initialized || x < 0 || x >= W) { + return 1; + } else { + return set_pixel_internal(x, r, g, b); + } +} + +int +OutputImage::set_pixel_internal(int x, char r, char g, char b) { + return 0; +} + +int +OutputImage::next_line() { + if (!initialized || line++ >= H) { + return 1; + } else { + return next_line_internal(); + } +} + +int +OutputImage::next_line_internal() { + return 0; +} + +int +OutputImage::done() { + if (!initialized) { + return 1; + } else { + next_line(); + return done_internal(); + } +} + +int +OutputImage::done_internal() { + return 0; +} + +#define MAX_OUTPUT_IMAGES 16 +OutputImages::OutputImages() { + imgs = (OutputImage **) calloc(MAX_OUTPUT_IMAGES, sizeof(OutputImage *)); + max_imgs = MAX_OUTPUT_IMAGES; +} + +OutputImages::~OutputImages() { + free(imgs); +} + +int +OutputImages::add(OutputImage *img) { + for (int i=0; iinit(w, h); + } + } + + return ret; +} + +int +OutputImages::set_pixel(int x, char r, char g, char b) { + int ret = 0; + + for (int i=0; iset_pixel(x, r, g, b); + } + } + + return ret; +} + +int +OutputImages::next_line() { + int ret = 0; + + for (int i=0; inext_line(); + } + } + + return ret; +} + +int +OutputImages::done() { + int ret = 0; + + for (int i=0; idone(); + } + } + + return ret; +} + -- cgit v1.2.3