• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CC_TREES_LAYER_TREE_HOST_SINGLE_THREAD_CLIENT_H_
6 #define CC_TREES_LAYER_TREE_HOST_SINGLE_THREAD_CLIENT_H_
7 
8 namespace cc {
9 
10 class LayerTreeHostSingleThreadClient {
11  public:
12   // Request that the client schedule a composite.
13   virtual void ScheduleComposite() = 0;
14   // Request that the client schedule a composite now, and calculate appropriate
15   // delay for potential future frame.
16   virtual void ScheduleAnimation() = 0;
17 
18   // Called whenever the compositor posts a SwapBuffers (either full or
19   // partial). After DidPostSwapBuffers(), exactly one of
20   // DidCompleteSwapBuffers() or DidAbortSwapBuffers() will be called, thus
21   // these functions can be used to keep track of pending swap buffers calls for
22   // rate limiting.
23   virtual void DidPostSwapBuffers() = 0;
24   virtual void DidCompleteSwapBuffers() = 0;
25   virtual void DidAbortSwapBuffers() = 0;
26 
27  protected:
~LayerTreeHostSingleThreadClient()28   virtual ~LayerTreeHostSingleThreadClient() {}
29 };
30 
31 }  // namespace cc
32 
33 #endif  // CC_TREES_LAYER_TREE_HOST_SINGLE_THREAD_CLIENT_H_
34