25 #ifndef AGG_SPAN_PATTERN_RGBA_INCLUDED 26 #define AGG_SPAN_PATTERN_RGBA_INCLUDED 28 #include "agg_basics.h" 37 typedef Source source_type;
38 typedef typename source_type::color_type color_type;
39 typedef typename source_type::order_type order_type;
40 typedef typename color_type::value_type value_type;
41 typedef typename color_type::calc_type calc_type;
46 unsigned offset_x,
unsigned offset_y) :
53 void attach(source_type& v) { m_src = &v; }
54 source_type& source() {
return *m_src; }
55 const source_type& source()
const {
return *m_src; }
58 void offset_x(
unsigned v) { m_offset_x = v; }
59 void offset_y(
unsigned v) { m_offset_y = v; }
60 unsigned offset_x()
const {
return m_offset_x; }
61 unsigned offset_y()
const {
return m_offset_y; }
62 void alpha(value_type) {}
63 value_type alpha()
const {
return 0; }
67 void generate(color_type* span,
int x,
int y,
unsigned len)
71 const value_type* p = (
const value_type*)m_src->span(x, y, len);
74 span->r = p[order_type::R];
75 span->g = p[order_type::G];
76 span->b = p[order_type::B];
77 span->a = p[order_type::A];
78 p = (
const value_type*)m_src->next_x();