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