diff options
author | Eugene Sandulenko | 2010-07-29 19:53:02 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-10-12 21:38:20 +0000 |
commit | a683a420a9e43705c972b5e74d55e319729e1a81 (patch) | |
tree | bde6e4abd417bdfaec120aa951da9a19be36b654 /engines/sword25/gfx/image/vectorimagerenderer.h | |
parent | 7723d91c957d07205c51be32498d45cd0a78568f (diff) | |
download | scummvm-rg350-a683a420a9e43705c972b5e74d55e319729e1a81.tar.gz scummvm-rg350-a683a420a9e43705c972b5e74d55e319729e1a81.tar.bz2 scummvm-rg350-a683a420a9e43705c972b5e74d55e319729e1a81.zip |
SWORD25: Importing original sources
svn-id: r53171
Diffstat (limited to 'engines/sword25/gfx/image/vectorimagerenderer.h')
-rwxr-xr-x | engines/sword25/gfx/image/vectorimagerenderer.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/engines/sword25/gfx/image/vectorimagerenderer.h b/engines/sword25/gfx/image/vectorimagerenderer.h new file mode 100755 index 0000000000..2dc29c480e --- /dev/null +++ b/engines/sword25/gfx/image/vectorimagerenderer.h @@ -0,0 +1,76 @@ +// ----------------------------------------------------------------------------- +// This file is part of Broken Sword 2.5 +// Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdörfer +// +// Broken Sword 2.5 is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Broken Sword 2.5 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Broken Sword 2.5; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// ----------------------------------------------------------------------------- + +#ifndef BS_VECTORIMAGERENDERER_H +#define BS_VECTORIMAGERENDERER_H + +// ----------------------------------------------------------------------------- +// Includes +// ----------------------------------------------------------------------------- + +#include "kernel/common.h" +#include <vector> + +#include "agg_rendering_buffer.h" +#include "agg_pixfmt_rgba.h" +#include "agg_renderer_scanline.h" +#include "agg_rasterizer_scanline_aa.h" +#include "agg_rasterizer_compound_aa.h" +#include "agg_scanline_u.h" +#include "agg_scanline_bin.h" +#include "agg_trans_affine.h" +#include "agg_span_allocator.h" + +class BS_VectorImage; + + +/** + @brief Rendert BS_VectorImage Objekte +*/ + +class BS_VectorImageRenderer +{ +public: + BS_VectorImageRenderer(); + + bool Render(const BS_VectorImage & VectorImage, + float ScaleFactorX, float ScaleFactorY, + unsigned int & Width, unsigned int & Height, + std::vector<char> & ImageData, + float LineScaleFactor = 1.0f, + bool NoAlphaShapes = false); + +private: + typedef agg::pixfmt_rgba32_pre PixelFormatType; + typedef agg::renderer_base<PixelFormatType> BaseRendererType; + typedef agg::renderer_scanline_aa_solid<BaseRendererType> ScanlineRendererType; + + agg::rendering_buffer rbuf; + PixelFormatType PixelFormat; + BaseRendererType BaseRenderer; + ScanlineRendererType ScanlineRenderer; + agg::rasterizer_scanline_aa<agg::rasterizer_sl_clip_dbl> Rasterizer; + agg::rasterizer_compound_aa<agg::rasterizer_sl_clip_dbl> CompoundRasterizer; + agg::scanline_u8 Scanline; + agg::scanline_bin ScanlineBin; + agg::trans_affine Scale; + agg::span_allocator<agg::rgba8> Alloc; +}; + +#endif |