/*** * Copyright (c) 2013, Heiko Schäfer <heiko@hgl.rangun.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted * provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of conditions and * the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions * and the following disclaimer in the documentation and/or other materials provided with the * distribution. * * THIS SOFTWARE IS PROVIDED BY Heiko Schäfer <heiko@hgl.rangun.de> "AS IS" AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Heiko Schäfer <heiko@hgl.rangun.de> * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ***/ #include <cstdio> #include <exm.h> #include "exampleoutput.h" #include "icanvas.h" #include "writer.h" using namespace MyIOPlugin; REGISTER_IOPLUGIN(ExampleOutput, "EXM", L"EXM Image Output", L"Your Name", L"(c) 2013 by Your Name <me@mycompany.com>", L"writes EXM Example images") ExampleOutput::ExampleOutput() : HGL::ImageOutput::IPreRenderOutput() {} ExampleOutput::~ExampleOutput() {} void ExampleOutput::writeImage(const HGL::ImageOutput::ICanvas &canvas, const std::string &filename) const throw(HGL::ImageOutput::ImageOutputException) { HGL::ImageOutput::Writer out(filename); for(uint16_t row = 0; row < canvas.getHeight(); ++row) { exm_write_row(out.getFile(), canvas.getRow(row)); } out.endWrite(); }
1.6.1