Index: core/cross/gles2/render_surface_gles2.cc |
diff --git a/core/cross/gles2/render_surface_gles2.cc b/core/cross/gles2/render_surface_gles2.cc |
index 6d21dc853540bde2be0a36d9e7ac94f29ff98b90..02b2ee316df53b53dbb9d9a3cf83cefedfaff906 100644 |
--- a/core/cross/gles2/render_surface_gles2.cc |
+++ b/core/cross/gles2/render_surface_gles2.cc |
@@ -54,13 +54,14 @@ RenderSurfaceGLES2::RenderSurfaceGLES2(ServiceLocator *service_locator, |
RenderSurfaceGLES2::~RenderSurfaceGLES2() { |
} |
-Bitmap::Ref RenderSurfaceGLES2::PlatformSpecificGetBitmap() const { |
+bool RenderSurfaceGLES2::PlatformSpecificGetIntoBitmap( |
+ Bitmap::Ref bitmap) const { |
Renderer* renderer = service_locator()->GetService<Renderer>(); |
DCHECK(renderer); |
- |
- Bitmap::Ref bitmap = Bitmap::Ref(new Bitmap(service_locator())); |
- bitmap->Allocate( |
- Texture::ARGB8, clip_width(), clip_height(), 1, Bitmap::IMAGE); |
+ DCHECK(bitmap->width() == static_cast<unsigned int>(clip_width()) && |
+ bitmap->height() == static_cast<unsigned int>(clip_height()) && |
+ bitmap->num_mipmaps() == 1 && |
+ bitmap->format() == Texture::ARGB8); |
const RenderSurface* old_render_surface; |
const RenderDepthStencilSurface* old_depth_surface; |
@@ -76,7 +77,7 @@ Bitmap::Ref RenderSurfaceGLES2::PlatformSpecificGetBitmap() const { |
renderer->SetRenderSurfaces(old_render_surface, old_depth_surface, |
old_is_back_buffer); |
- return bitmap; |
+ return true; |
} |
RenderDepthStencilSurfaceGLES2::RenderDepthStencilSurfaceGLES2( |