Home | History | Annotate | Download | only in android
      1 // Copyright 2014 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 UI_BASE_ANDROID_WINDOW_ANDROID_COMPOSITOR_H_
      6 #define UI_BASE_ANDROID_WINDOW_ANDROID_COMPOSITOR_H_
      7 
      8 #include "cc/output/copy_output_request.h"
      9 #include "ui/base/ui_base_export.h"
     10 
     11 namespace cc {
     12 class Layer;
     13 }
     14 
     15 namespace ui {
     16 
     17 // Android interface for compositor-related tasks.
     18 class UI_BASE_EXPORT WindowAndroidCompositor {
     19  public:
     20   virtual ~WindowAndroidCompositor() {}
     21 
     22   virtual void AttachLayerForReadback(scoped_refptr<cc::Layer> layer) = 0;
     23   virtual void RequestCopyOfOutputOnRootLayer(
     24       scoped_ptr<cc::CopyOutputRequest> request) = 0;
     25   virtual void OnVSync(base::TimeTicks frame_time,
     26                        base::TimeDelta vsync_period) = 0;
     27   virtual void SetNeedsAnimate() = 0;
     28 };
     29 
     30 }  // namespace ui
     31 
     32 #endif  // UI_BASE_ANDROID_WINDOW_ANDROID_COMPOSITOR_H_
     33