Home | History | Annotate | Download | only in SemaTemplate
      1 // RUN: not %clang_cc1 -fsyntax-only %s
      2 namespace PR6375 {
      3   template<class Conv> class rasterizer_sl_clip Conv::xi(x2), Conv::yi(y2));
      4 namespace agg
      5 {
      6 	template<class Clip=rasterizer_sl_clip_int> class rasterizer_scanline_aa
      7 	{
      8 		template<class Scanline> bool sweep_scanline(Scanline& sl)
      9 		{
     10 			unsigned num_cells = m_outline.scanline_num_cells(m_scan_y);
     11 			while(num_cells) { }
     12 		}
     13 	}
     14     class scanline_u8 {}
     15     template<class PixelFormat> class renderer_base { }
     16 }
     17     template<class Rasterizer, class Scanline, class BaseRenderer, class ColorT>
     18     void render_scanlines_aa_solid(Rasterizer& ras, Scanline& sl, BaseRenderer& ren, const ColorT& color)
     19     {
     20             while(ras.sweep_scanline(sl))
     21             {
     22         }
     23     };
     24 namespace agg
     25 {
     26     struct rgba8
     27     {
     28     };
     29     template<class Rasterizer, class Scanline, class Renderer, class Ctrl>
     30     void render_ctrl(Rasterizer& ras, Scanline& sl, Renderer& r, Ctrl& c)
     31     {
     32         unsigned i;
     33             render_scanlines_aa_solid(ras, sl, r, c.color(i));
     34         }
     35     template<class ColorT> class rbox_ctrl : public rbox_ctrl_impl
     36     {
     37         const ColorT& color(unsigned i) const { return *m_colors[i]; }
     38     }
     39 class the_application : public agg::platform_support
     40 {
     41     agg::rbox_ctrl<agg::rgba8> m_polygons;
     42     virtual void on_init()
     43     {
     44         typedef agg::renderer_base<pixfmt_type> base_ren_type;
     45         base_ren_type ren_base(pf);
     46         agg::scanline_u8 sl;
     47         agg::rasterizer_scanline_aa<> ras;
     48         agg::render_ctrl(ras, sl, ren_base, m_polygons);
     49     }
     50 };
     51 }
     52 }
     53