1// Copyright 2012 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_LAYERS_TEXTURE_LAYER_CLIENT_H_
6#define CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
7
8#include "cc/resources/single_release_callback.h"
9
10namespace cc {
11class ResourceUpdateQueue;
12class TextureMailbox;
13
14class TextureLayerClient {
15 public:
16  // Returns true and provides a mailbox if a new frame is available.
17  // Returns false if no new data is available
18  // and the old mailbox is to be reused.
19  virtual bool PrepareTextureMailbox(
20      TextureMailbox* mailbox,
21      scoped_ptr<SingleReleaseCallback>* release_callback,
22      bool use_shared_memory) = 0;
23
24 protected:
25  virtual ~TextureLayerClient() {}
26};
27
28}  // namespace cc
29
30#endif  // CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
31