Index: ui/gfx/surface/accelerated_surface_win.h |
diff --git a/ui/gfx/surface/accelerated_surface_win.h b/ui/gfx/surface/accelerated_surface_win.h |
index 9b48b363aa9732d35faec468281eaf7333397204..52208d3dae735746364075adabd0b8bb4a71b2c3 100644 |
--- a/ui/gfx/surface/accelerated_surface_win.h |
+++ b/ui/gfx/surface/accelerated_surface_win.h |
@@ -32,6 +32,7 @@ class AcceleratedPresenter |
int64 surface_id, |
const base::Callback<void(bool)>& completion_task); |
bool Present(gfx::NativeWindow window); |
+ bool CopyTo(const gfx::Size& size, void* buf); |
void Suspend(); |
void WaitForPendingTasks(); |
@@ -85,6 +86,12 @@ class SURFACE_EXPORT AcceleratedSurface { |
// Synchronously present a frame with no acknowledgement. |
bool Present(gfx::NativeWindow window); |
+ // Copies the surface data to |buf|. The image data is transformed so that it |
+ // fits in |size|. |
+ // Caller must ensure that |buf| is allocated with the size no less than |
+ // |4 * size.width() * size.height()| bytes. |
+ bool CopyTo(const gfx::Size& size, void* buf); |
+ |
// Temporarily release resources until a new surface is asynchronously |
// presented. Present will not be able to represent the last surface after |
// calling this and will return false. |