hgl 0.5.42~jessie
A compiler/interpreter suite for developing images (plugin development)
exampleoutput.cpp
/***
* 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();
}