1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef CC_SURFACES_DISPLAY_CLIENT_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define CC_SURFACES_DISPLAY_CLIENT_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/memory/scoped_ptr.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/time/time.h" 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace cc { 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class OutputSurface; 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class DisplayClient { 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual scoped_ptr<OutputSurface> CreateOutputSurface() = 0; 1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual void DisplayDamaged() = 0; 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void DidSwapBuffers() = 0; 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void DidSwapBuffersComplete() = 0; 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void CommitVSyncParameters(base::TimeTicks timebase, 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci base::TimeDelta interval) = 0; 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected: 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~DisplayClient() {} 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // CC_SURFACES_DISPLAY_CLIENT_H_ 30