| 647 | |
| 648 | |
| 649 | int aggGetRasterBufferHandle(imageObj *img, rasterBufferObj * rb) { |
| 650 | AGG2Renderer *r = AGG_RENDERER(img); |
| 651 | rb->type =MS_BUFFER_BYTE_RGBA; |
| 652 | rb->data.rgba.pixels = r->buffer; |
| 653 | rb->data.rgba.row_step = r->m_rendering_buffer.stride(); |
| 654 | rb->data.rgba.pixel_step = 4; |
| 655 | rb->width = r->m_rendering_buffer.width(); |
| 656 | rb->height = r->m_rendering_buffer.height(); |
| 657 | rb->data.rgba.r = &(r->buffer[band_order::R]); |
| 658 | rb->data.rgba.g = &(r->buffer[band_order::G]); |
| 659 | rb->data.rgba.b = &(r->buffer[band_order::B]); |
| 660 | if(r->use_alpha) |
| 661 | rb->data.rgba.a = &(r->buffer[band_order::A]); |
| 662 | else |
| 663 | rb->data.rgba.a = NULL; |
| 664 | return MS_SUCCESS; |
| 665 | } |
| 666 | |
| 667 | int aggGetRasterBufferCopy(imageObj *img, rasterBufferObj *rb) { |
| 668 | AGG2Renderer *r = AGG_RENDERER(img); |