diff options
Diffstat (limited to 'chromium/cc/surfaces/surface.h')
-rw-r--r-- | chromium/cc/surfaces/surface.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/chromium/cc/surfaces/surface.h b/chromium/cc/surfaces/surface.h index 7b3fbc125b2..8e6d7a46cbf 100644 --- a/chromium/cc/surfaces/surface.h +++ b/chromium/cc/surfaces/surface.h @@ -16,6 +16,7 @@ #include "cc/base/scoped_ptr_vector.h" #include "cc/output/copy_output_request.h" #include "cc/quads/render_pass_id.h" +#include "cc/surfaces/surface_factory.h" #include "cc/surfaces/surface_id.h" #include "cc/surfaces/surface_sequence.h" #include "cc/surfaces/surfaces_export.h" @@ -34,14 +35,15 @@ class SurfaceResourceHolder; class CC_SURFACES_EXPORT Surface { public: - Surface(SurfaceId id, const gfx::Size& size, SurfaceFactory* factory); + using DrawCallback = SurfaceFactory::DrawCallback; + + Surface(SurfaceId id, SurfaceFactory* factory); ~Surface(); - const gfx::Size& size() const { return size_; } SurfaceId surface_id() const { return surface_id_; } void QueueFrame(scoped_ptr<CompositorFrame> frame, - const base::Closure& draw_callback); + const DrawCallback& draw_callback); void RequestCopyOfOutput(scoped_ptr<CopyOutputRequest> copy_request); // Adds each CopyOutputRequest in the current frame to copy_requests. The // caller takes ownership of them. @@ -54,7 +56,7 @@ class CC_SURFACES_EXPORT Surface { int frame_index() const { return frame_index_; } void TakeLatencyInfo(std::vector<ui::LatencyInfo>* latency_info); - void RunDrawCallbacks(); + void RunDrawCallbacks(SurfaceDrawStatus drawn); base::WeakPtr<SurfaceFactory> factory() { return factory_; } @@ -74,14 +76,13 @@ class CC_SURFACES_EXPORT Surface { void ClearCopyRequests(); SurfaceId surface_id_; - gfx::Size size_; base::WeakPtr<SurfaceFactory> factory_; // TODO(jamesr): Support multiple frames in flight. scoped_ptr<CompositorFrame> current_frame_; int frame_index_; std::vector<SurfaceSequence> destruction_dependencies_; - base::Closure draw_callback_; + DrawCallback draw_callback_; DISALLOW_COPY_AND_ASSIGN(Surface); }; |