|
| | pixfmt_alpha_blend_gray (rbuf_type &rb) |
| |
| void | attach (rbuf_type &rb) |
| |
| template<class PixFmt > |
| bool | attach (PixFmt &pixf, int x1, int y1, int x2, int y2) |
| |
| AGG_INLINE unsigned | width () const |
| |
| AGG_INLINE unsigned | height () const |
| |
| AGG_INLINE int | stride () const |
| |
| int8u * | row_ptr (int y) |
| |
| const int8u * | row_ptr (int y) const |
| |
| row_data | row (int y) const |
| |
| AGG_INLINE int8u * | pix_ptr (int x, int y) |
| |
| AGG_INLINE const int8u * | pix_ptr (int x, int y) const |
| |
| AGG_INLINE pixel_type * | pix_value_ptr (int x, int y, unsigned len) |
| |
| AGG_INLINE const pixel_type * | pix_value_ptr (int x, int y) const |
| |
| AGG_INLINE color_type | pixel (int x, int y) const |
| |
| AGG_INLINE void | copy_pixel (int x, int y, const color_type &c) |
| |
| AGG_INLINE void | blend_pixel (int x, int y, const color_type &c, int8u cover) |
| |
| AGG_INLINE void | copy_hline (int x, int y, unsigned len, const color_type &c) |
| |
| AGG_INLINE void | copy_vline (int x, int y, unsigned len, const color_type &c) |
| |
| void | blend_hline (int x, int y, unsigned len, const color_type &c, int8u cover) |
| |
| void | blend_vline (int x, int y, unsigned len, const color_type &c, int8u cover) |
| |
| void | blend_solid_hspan (int x, int y, unsigned len, const color_type &c, const int8u *covers) |
| |
| void | blend_solid_vspan (int x, int y, unsigned len, const color_type &c, const int8u *covers) |
| |
| void | copy_color_hspan (int x, int y, unsigned len, const color_type *colors) |
| |
| void | copy_color_vspan (int x, int y, unsigned len, const color_type *colors) |
| |
| void | blend_color_hspan (int x, int y, unsigned len, const color_type *colors, const int8u *covers, int8u cover) |
| |
| void | blend_color_vspan (int x, int y, unsigned len, const color_type *colors, const int8u *covers, int8u cover) |
| |
| template<class Function > |
| void | for_each_pixel (Function f) |
| |
| template<class GammaLut > |
| void | apply_gamma_dir (const GammaLut &g) |
| |
| template<class GammaLut > |
| void | apply_gamma_inv (const GammaLut &g) |
| |
| template<class RenBuf2 > |
| void | copy_from (const RenBuf2 &from, int xdst, int ydst, int xsrc, int ysrc, unsigned len) |
| |
| template<class SrcPixelFormatRenderer > |
| void | blend_from_color (const SrcPixelFormatRenderer &from, const color_type &color, int xdst, int ydst, int xsrc, int ysrc, unsigned len, int8u cover) |
| |
| template<class SrcPixelFormatRenderer > |
| void | blend_from_lut (const SrcPixelFormatRenderer &from, const color_type *color_lut, int xdst, int ydst, int xsrc, int ysrc, unsigned len, int8u cover) |
| |
template<class Blender, class RenBuf, unsigned Step = 1, unsigned Offset = 0>
class agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
template<class PixFmt >
258 {
260 if (r.clip(
rect_i(0, 0, pixf.width()-1, pixf.height()-1)))
261 {
262 int stride = pixf.stride();
263 m_rbuf->attach(pixf.pix_ptr(r.x1,
stride < 0 ? r.y2 : r.y1),
264 (r.x2 - r.x1) + 1,
265 (r.y2 - r.y1) + 1,
267 return true;
268 }
269 return false;
270 }
AGG_INLINE int stride() const
Definition agg_pixfmt_gray.h:275
rect_base< int > rect_i
Definition agg_basics.h:363
References agg::rect_base< T >::clip(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::m_rbuf, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::stride(), agg::rect_base< T >::x1, agg::rect_base< T >::x2, agg::rect_base< T >::y1, and agg::rect_base< T >::y2.
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
538 {
540
541 if (covers)
542 {
543 do
544 {
546 p = p->next();
547 }
548 while (--len);
549 }
550 else
551 {
553 {
554 do
555 {
557 p = p->next();
558 }
559 while (--len);
560 }
561 else
562 {
563 do
564 {
566 p = p->next();
567 }
568 while (--len);
569 }
570 }
571 }
AGG_INLINE pixel_type * pix_value_ptr(int x, int y, unsigned len)
Definition agg_pixfmt_gray.h:294
AGG_INLINE void copy_or_blend_pix(pixel_type *p, const color_type &c, unsigned cover)
Definition agg_pixfmt_gray.h:217
@ cover_mask
Definition agg_basics.h:242
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_or_blend_pix(), agg::cover_mask, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::next(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
template<class SrcPixelFormatRenderer >
| void agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_from_color |
( |
const SrcPixelFormatRenderer & |
from, |
|
|
const color_type & |
color, |
|
|
int |
xdst, |
|
|
int |
ydst, |
|
|
int |
xsrc, |
|
|
int |
ysrc, |
|
|
unsigned |
len, |
|
|
int8u |
cover |
|
) |
| |
|
inline |
667 {
668 typedef typename SrcPixelFormatRenderer::pixel_type src_pixel_type;
669 typedef typename SrcPixelFormatRenderer::color_type src_color_type;
670
671 if (const src_pixel_type* psrc = from.pix_value_ptr(xsrc, ysrc))
672 {
674
675 do
676 {
678 psrc = psrc->next();
679 pdst = pdst->next();
680 }
681 while (--len);
682 }
683 }
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_or_blend_pix(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::next(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
template<class SrcPixelFormatRenderer >
| void agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_from_lut |
( |
const SrcPixelFormatRenderer & |
from, |
|
|
const color_type * |
color_lut, |
|
|
int |
xdst, |
|
|
int |
ydst, |
|
|
int |
xsrc, |
|
|
int |
ysrc, |
|
|
unsigned |
len, |
|
|
int8u |
cover |
|
) |
| |
|
inline |
695 {
696 typedef typename SrcPixelFormatRenderer::pixel_type src_pixel_type;
697
698 if (const src_pixel_type* psrc = from.pix_value_ptr(xsrc, ysrc))
699 {
701
702 do
703 {
705 psrc = psrc->next();
706 pdst = pdst->next();
707 }
708 while (--len);
709 }
710 }
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_or_blend_pix(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::next(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
393 {
394 if (!
c.is_transparent())
395 {
397
399 {
400 do
401 {
402 p->set(c);
403 p = p->next();
404 }
405 while (--len);
406 }
407 else
408 {
409 do
410 {
412 p = p->next();
413 }
414 while (--len);
415 }
416 }
417 }
AGG_INLINE void blend_pix(pixel_type *p, value_type v, value_type a, unsigned cover)
Definition agg_pixfmt_gray.h:191
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_pix(), agg::cover_mask, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::next(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::set().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
453 {
454 if (!
c.is_transparent())
455 {
457
458 do
459 {
461 {
462 p->set(c);
463 }
464 else
465 {
467 }
468 p = p->next();
469 ++covers;
470 }
471 while (--len);
472 }
473 }
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_pix(), agg::cover_mask, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::next(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::set().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
481 {
482 if (!
c.is_transparent())
483 {
484 do
485 {
487
489 {
490 p->set(c);
491 }
492 else
493 {
495 }
496 ++covers;
497 }
498 while (--len);
499 }
500 }
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_pix(), agg::cover_mask, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::set().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
218 {
219 if (!
c.is_transparent())
220 {
222 {
223 p->set(c);
224 }
225 else
226 {
228 }
229 }
230 }
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_pix(), agg::cover_mask, and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::set().
Referenced by agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_color_hspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_color_vspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_from_color(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_from_lut(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_pixel().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
template<class Function >
612 {
615 {
617 if (r.ptr)
618 {
619 unsigned len = r.x2 - r.x1 + 1;
621 do
622 {
623 f(p->c);
624 p = p->next();
625 }
626 while (--len);
627 }
628 }
629 }
rbuf_type::row_data row_data
Definition agg_pixfmt_gray.h:131
AGG_INLINE unsigned height() const
Definition agg_pixfmt_gray.h:274
const Scalar & y
Definition MathFunctions.h:552
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::c, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::height(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::m_rbuf, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel_type::next(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_value_ptr().
Referenced by agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::apply_gamma_dir(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::apply_gamma_inv().
template<class Blender , class RenBuf , unsigned Step = 1, unsigned Offset = 0>
References agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::m_rbuf, agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_offset, and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pix_step.
Referenced by agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_color_hspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_color_vspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_from_color(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_from_lut(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_hline(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_pixel(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_solid_hspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_solid_vspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::blend_vline(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_color_hspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_color_vspan(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_hline(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_pixel(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::copy_vline(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::for_each_pixel(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::pixel(), agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::read_plain_color(), and agg::pixfmt_alpha_blend_gray< Blender, RenBuf, Step, Offset >::write_plain_color().