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 CC_SURFACES_DISPLAY_CLIENT_H_
6#define CC_SURFACES_DISPLAY_CLIENT_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "base/time/time.h"
10
11namespace cc {
12
13class OutputSurface;
14
15class DisplayClient {
16 public:
17  virtual scoped_ptr<OutputSurface> CreateOutputSurface() = 0;
18  virtual void DisplayDamaged() = 0;
19  virtual void DidSwapBuffers() = 0;
20  virtual void DidSwapBuffersComplete() = 0;
21  virtual void CommitVSyncParameters(base::TimeTicks timebase,
22                                     base::TimeDelta interval) = 0;
23
24 protected:
25  virtual ~DisplayClient() {}
26};
27}
28
29#endif  // CC_SURFACES_DISPLAY_CLIENT_H_
30