Home | History | Annotate | Download | only in trees
      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() {}
     14   // Request that the client schedule a composite now, and calculate appropriate
     15   // delay for potential future frame.
     16   virtual void ScheduleAnimation() {}
     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:
     28   virtual ~LayerTreeHostSingleThreadClient() {}
     29 };
     30 
     31 }  // namespace cc
     32 
     33 #endif  // CC_TREES_LAYER_TREE_HOST_SINGLE_THREAD_CLIENT_H_
     34