зеркало из https://github.com/microsoft/clang-1.git
53 строки
1.5 KiB
C++
53 строки
1.5 KiB
C++
// RUN: not %clang_cc1 -fsyntax-only %s
|
|
namespace PR6375 {
|
|
template<class Conv> class rasterizer_sl_clip Conv::xi(x2), Conv::yi(y2));
|
|
namespace agg
|
|
{
|
|
template<class Clip=rasterizer_sl_clip_int> class rasterizer_scanline_aa
|
|
{
|
|
template<class Scanline> bool sweep_scanline(Scanline& sl)
|
|
{
|
|
unsigned num_cells = m_outline.scanline_num_cells(m_scan_y);
|
|
while(num_cells) { }
|
|
}
|
|
}
|
|
class scanline_u8 {}
|
|
template<class PixelFormat> class renderer_base { }
|
|
}
|
|
template<class Rasterizer, class Scanline, class BaseRenderer, class ColorT>
|
|
void render_scanlines_aa_solid(Rasterizer& ras, Scanline& sl, BaseRenderer& ren, const ColorT& color)
|
|
{
|
|
while(ras.sweep_scanline(sl))
|
|
{
|
|
}
|
|
};
|
|
namespace agg
|
|
{
|
|
struct rgba8
|
|
{
|
|
};
|
|
template<class Rasterizer, class Scanline, class Renderer, class Ctrl>
|
|
void render_ctrl(Rasterizer& ras, Scanline& sl, Renderer& r, Ctrl& c)
|
|
{
|
|
unsigned i;
|
|
render_scanlines_aa_solid(ras, sl, r, c.color(i));
|
|
}
|
|
template<class ColorT> class rbox_ctrl : public rbox_ctrl_impl
|
|
{
|
|
const ColorT& color(unsigned i) const { return *m_colors[i]; }
|
|
}
|
|
class the_application : public agg::platform_support
|
|
{
|
|
agg::rbox_ctrl<agg::rgba8> m_polygons;
|
|
virtual void on_init()
|
|
{
|
|
typedef agg::renderer_base<pixfmt_type> base_ren_type;
|
|
base_ren_type ren_base(pf);
|
|
agg::scanline_u8 sl;
|
|
agg::rasterizer_scanline_aa<> ras;
|
|
agg::render_ctrl(ras, sl, ren_base, m_polygons);
|
|
}
|
|
};
|
|
}
|
|
}
|