• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 //----------------------------------------------------------------------------
3 // Anti-Grain Geometry - Version 2.3
4 // Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
5 //
6 // Permission to copy, use, modify, sell and distribute this software
7 // is granted provided this copyright notice appears in all copies.
8 // This software is provided "as is" without express or implied
9 // warranty, and with no claim as to its suitability for any purpose.
10 //
11 //----------------------------------------------------------------------------
12 // Contact: mcseem@antigrain.com
13 //          mcseemagg@yahoo.com
14 //          http://www.antigrain.com
15 //----------------------------------------------------------------------------
16 #ifndef AGG_RENDER_SCANLINES_INCLUDED
17 #define AGG_RENDER_SCANLINES_INCLUDED
18 #include "agg_basics.h"
19 namespace pdfium
20 {
21 namespace agg
22 {
23 template<class Rasterizer, class Scanline, class Renderer>
render_scanlines(Rasterizer & ras,Scanline & sl,Renderer & ren,bool no_smooth)24 void render_scanlines(Rasterizer& ras, Scanline& sl, Renderer& ren, bool no_smooth)
25 {
26     if(ras.rewind_scanlines()) {
27         sl.reset(ras.min_x(), ras.max_x());
28         ren.prepare(unsigned(ras.max_x() - ras.min_x() + 2));
29         while(ras.sweep_scanline(sl, no_smooth)) {
30             ren.render(sl);
31         }
32     }
33 }
34 template<class Rasterizer, class Scanline, class Renderer,
35          class VertexSource, class ColorStorage, class PathId>
render_all_paths(Rasterizer & ras,Scanline & sl,Renderer & r,VertexSource & vs,const ColorStorage & as,const PathId & path_id,unsigned num_paths)36 void render_all_paths(Rasterizer& ras,
37                       Scanline& sl,
38                       Renderer& r,
39                       VertexSource& vs,
40                       const ColorStorage& as,
41                       const PathId& path_id,
42                       unsigned num_paths)
43 {
44     for(unsigned i = 0; i < num_paths; i++) {
45         ras.reset();
46         ras.add_path(vs, path_id[i]);
47         r.color(as[i]);
48         render_scanlines(ras, sl, r);
49     }
50 }
51 }
52 }  // namespace pdfium
53 #endif
54