| Index: trunk/src/ui/compositor/compositor.h
|
| ===================================================================
|
| --- trunk/src/ui/compositor/compositor.h (revision 280520)
|
| +++ trunk/src/ui/compositor/compositor.h (working copy)
|
| @@ -22,6 +22,8 @@
|
| #include "ui/gfx/size.h"
|
| #include "ui/gfx/vector2d.h"
|
|
|
| +class SkBitmap;
|
| +
|
| namespace base {
|
| class MessageLoopProxy;
|
| class RunLoop;
|
| @@ -155,6 +157,9 @@
|
| // compositing layers on.
|
| float device_scale_factor() const { return device_scale_factor_; }
|
|
|
| + // Draws the scene created by the layer tree and any visual effects.
|
| + void Draw();
|
| +
|
| // Where possible, draws are scissored to a damage region calculated from
|
| // changes to layer properties. This bypasses that and indicates that
|
| // the whole frame needs to be drawn.
|
| @@ -223,12 +228,17 @@
|
| virtual void DidCompleteSwapBuffers() OVERRIDE;
|
|
|
| // cc::LayerTreeHostSingleThreadClient implementation.
|
| + virtual void ScheduleComposite() OVERRIDE;
|
| + virtual void ScheduleAnimation() OVERRIDE;
|
| virtual void DidPostSwapBuffers() OVERRIDE;
|
| virtual void DidAbortSwapBuffers() OVERRIDE;
|
|
|
| // LayerAnimatorCollectionDelegate implementation.
|
| virtual void ScheduleAnimationForLayerCollection() OVERRIDE;
|
|
|
| + int last_started_frame() { return last_started_frame_; }
|
| + int last_ended_frame() { return last_ended_frame_; }
|
| +
|
| bool IsLocked() { return compositor_lock_ != NULL; }
|
|
|
| const cc::LayerTreeDebugState& GetLayerTreeDebugState() const;
|
| @@ -248,6 +258,9 @@
|
| // Called to release any pending CompositorLock
|
| void CancelCompositorLock();
|
|
|
| + // Notifies the compositor that compositing is complete.
|
| + void NotifyEnd();
|
| +
|
| gfx::Size size_;
|
|
|
| ui::ContextFactory* context_factory_;
|
| @@ -276,8 +289,19 @@
|
|
|
| CompositorLock* compositor_lock_;
|
|
|
| + // Prevent more than one draw from being scheduled.
|
| + bool defer_draw_scheduling_;
|
| +
|
| + // Used to prevent Draw()s while a composite is in progress.
|
| + bool waiting_on_compositing_end_;
|
| + bool draw_on_compositing_end_;
|
| + enum SwapState { SWAP_NONE, SWAP_POSTED, SWAP_COMPLETED };
|
| + SwapState swap_state_;
|
| +
|
| LayerAnimatorCollection layer_animator_collection_;
|
|
|
| + base::WeakPtrFactory<Compositor> schedule_draw_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(Compositor);
|
| };
|
|
|
|
|