You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.0 KiB
66 lines
2.0 KiB
//---------------------------------------------------------------------------- |
|
// Anti-Grain Geometry - Version 2.3 |
|
// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com) |
|
// |
|
// Permission to copy, use, modify, sell and distribute this software |
|
// is granted provided this copyright notice appears in all copies. |
|
// This software is provided "as is" without express or implied |
|
// warranty, and with no claim as to its suitability for any purpose. |
|
// |
|
//---------------------------------------------------------------------------- |
|
// Contact: mcseem@antigrain.com |
|
// mcseemagg@yahoo.com |
|
// http://www.antigrain.com |
|
//---------------------------------------------------------------------------- |
|
|
|
#ifndef AGG_RENDER_SCANLINES_INCLUDED |
|
#define AGG_RENDER_SCANLINES_INCLUDED |
|
|
|
#include "agg_basics.h" |
|
|
|
namespace agg |
|
{ |
|
//========================================================render_scanlines |
|
template<class Rasterizer, class Scanline, class Renderer> |
|
void render_scanlines(Rasterizer& ras, Scanline& sl, Renderer& ren) |
|
{ |
|
if(ras.rewind_scanlines()) |
|
{ |
|
sl.reset(ras.min_x(), ras.max_x()); |
|
ren.prepare(unsigned(ras.max_x() - ras.min_x() + 2)); |
|
|
|
while(ras.sweep_scanline(sl)) |
|
{ |
|
ren.render(sl); |
|
} |
|
} |
|
} |
|
|
|
|
|
//========================================================render_all_paths |
|
template<class Rasterizer, class Scanline, class Renderer, |
|
class VertexSource, class ColorStorage, class PathId> |
|
void render_all_paths(Rasterizer& ras, |
|
Scanline& sl, |
|
Renderer& r, |
|
VertexSource& vs, |
|
const ColorStorage& as, |
|
const PathId& id, |
|
unsigned num_paths) |
|
{ |
|
for(unsigned i = 0; i < num_paths; i++) |
|
{ |
|
ras.reset(); |
|
ras.add_path(vs, id[i]); |
|
r.color(as[i]); |
|
render_scanlines(ras, sl, r); |
|
} |
|
} |
|
|
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
|