summaryrefslogtreecommitdiffstats
path: root/cc/output/gl_renderer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc/output/gl_renderer.cc')
-rw-r--r--cc/output/gl_renderer.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
index 19b215b..4a0c7ba 100644
--- a/cc/output/gl_renderer.cc
+++ b/cc/output/gl_renderer.cc
@@ -1776,6 +1776,19 @@ void GLRenderer::EnsureScissorTestDisabled() {
is_scissor_enabled_ = false;
}
+void GLRenderer::CopyCurrentRenderPassToBitmap(DrawingFrame* frame,
+ SkBitmap* bitmap) {
+ gfx::Size render_pass_size = frame->current_render_pass->output_rect.size();
+ bitmap->setConfig(SkBitmap::kARGB_8888_Config,
+ render_pass_size.width(),
+ render_pass_size.height());
+ if (bitmap->allocPixels()) {
+ bitmap->lockPixels();
+ GetFramebufferPixels(bitmap->getPixels(), gfx::Rect(render_pass_size));
+ bitmap->unlockPixels();
+ }
+}
+
void GLRenderer::ToGLMatrix(float* gl_matrix, const gfx::Transform& transform) {
transform.matrix().asColMajorf(gl_matrix);
}