|
osgEarth 2.1.1
|
#include <AGG.h>
Collaboration diagram for agg::renderer< Span >:Public Member Functions | |
| renderer (rendering_buffer &rbuf) | |
| void | clear (const rgba8 &c) |
| void | pixel (int x, int y, const rgba8 &c) |
| rgba8 | pixel (int x, int y) const |
| void | render (const scanline &sl, const rgba8 &c) |
| rendering_buffer & | rbuf () |
Private Attributes | |
| rendering_buffer * | m_rbuf |
| Span | m_span |
| agg::renderer< Span >::renderer | ( | rendering_buffer & | rbuf | ) | [inline] |
| void agg::renderer< Span >::clear | ( | const rgba8 & | c | ) | [inline] |
| void agg::renderer< Span >::pixel | ( | int | x, |
| int | y, | ||
| const rgba8 & | c | ||
| ) | [inline] |
| rgba8 agg::renderer< Span >::pixel | ( | int | x, |
| int | y | ||
| ) | const [inline] |
| rendering_buffer& agg::renderer< Span >::rbuf | ( | ) | [inline] |
| void agg::renderer< Span >::render | ( | const scanline & | sl, |
| const rgba8 & | c | ||
| ) | [inline] |
Definition at line 444 of file AGG.h.
{
if(sl.y() < 0 || sl.y() >= int(m_rbuf->height()))
{
return;
}
unsigned num_spans = sl.num_spans();
int base_x = sl.base_x();
unsigned char* row = m_rbuf->row(sl.y());
scanline::iterator span(sl);
do
{
int x = span.next() + base_x;
const int8u* covers = span.covers();
int num_pix = span.num_pix();
if(x < 0)
{
num_pix += x;
if(num_pix <= 0) continue;
covers -= x;
x = 0;
}
if(x + num_pix >= int(m_rbuf->width()))
{
num_pix = m_rbuf->width() - x;
if(num_pix <= 0) continue;
}
m_span.render(row, x, num_pix, covers, c);
}
while(--num_spans);
}
rendering_buffer* agg::renderer< Span >::m_rbuf [private] |
Span agg::renderer< Span >::m_span [private] |
1.7.3