| 214 | } |
| 215 | |
| 216 | void OglRenderer::readRasterBuffer(rasterBufferObj * rb) |
| 217 | { |
| 218 | makeCurrent(); |
| 219 | unsigned char* buffer = new unsigned char[4 * width * height]; |
| 220 | glReadPixels(0, 0, width, height, GL_BGRA, GL_UNSIGNED_BYTE, buffer); |
| 221 | |
| 222 | rb->type =MS_BUFFER_BYTE_RGBA; |
| 223 | rb->data.rgba.pixels = buffer; |
| 224 | rb->data.rgba.row_step = 4*width; |
| 225 | rb->data.rgba.pixel_step = 4; |
| 226 | rb->width = width; |
| 227 | rb->height = height; |
| 228 | rb->data.rgba.r = &buffer[2]; |
| 229 | rb->data.rgba.g = &buffer[1]; |
| 230 | rb->data.rgba.b = &buffer[0]; |
| 231 | rb->data.rgba.a = NULL; |
| 232 | } |
| 233 | |
| 234 | void OglRenderer::drawRasterBuffer(rasterBufferObj *overlay, double opacity, int srcX, int srcY, int dstX, int dstY, int width, int height) |
| 235 | { |
no outgoing calls
no test coverage detected