// // 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. // #ifndef OUTPUTIMAGE_H #define OUTPUTIMAGE_H class OutputImage { private: int W, H, initialized, line; public: OutputImage(); ~OutputImage(); virtual int init(int w1, int h1); int set_pixel(int x, char r, char g, char b); int next_line(); int done(); protected: virtual int init_internal(int w1, int h1); virtual int set_pixel_internal(int x, char r, char g, char b); virtual int next_line_internal(); virtual int done_internal(); }; class OutputImages { private: OutputImage **imgs; int max_imgs; public: OutputImages(); ~OutputImages(); int add(OutputImage *img); int remove(OutputImage *img); int init(int w, int h); int set_pixel(int x, char r, char g, char b); int next_line(); int done(); }; #endif