* Copyright 2005-2007, Stephan Aßmus <superstippi@gmx.de>.
* Copyright 2008, Andrej Spielmann <andrej.spielmann@seh.ox.ac.uk>.
* Copyright 2015, Julian Harnath <julian.harnath@rwth-aachen.de>
* All rights reserved. Distributed under the terms of the MIT License.
*/
#ifndef PAINTER_DATA_H
#define PAINTER_DATA_H
#include "defines.h"
#include <agg_path_storage.h>
struct PainterAggInterface {
PainterAggInterface(PatternHandler& patternHandler)
:
fBuffer(),
fPixelFormat(fBuffer, &patternHandler),
fBaseRenderer(fPixelFormat),
fUnpackedScanline(),
fPackedScanline(),
fRasterizer(),
fRenderer(fBaseRenderer),
fRendererBin(fBaseRenderer),
fSubpixPackedScanline(),
fSubpixUnpackedScanline(),
fSubpixRasterizer(),
fSubpixRenderer(fBaseRenderer),
fMaskedUnpackedScanline(NULL),
fClippedAlphaMask(NULL),
fPath(),
fCurve(fPath)
{
}
agg::rendering_buffer fBuffer;
pixfmt fPixelFormat;
renderer_base fBaseRenderer;
scanline_unpacked_type fUnpackedScanline;
scanline_packed_type fPackedScanline;
rasterizer_type fRasterizer;
renderer_type fRenderer;
renderer_bin_type fRendererBin;
scanline_packed_subpix_type fSubpixPackedScanline;
scanline_unpacked_subpix_type fSubpixUnpackedScanline;
rasterizer_subpix_type fSubpixRasterizer;
renderer_subpix_type fSubpixRenderer;
scanline_unpacked_masked_type* fMaskedUnpackedScanline;
agg::clipped_alpha_mask* fClippedAlphaMask;
agg::path_storage fPath;
agg::conv_curve<agg::path_storage> fCurve;
};
#endif