blob: 0b8b2256fd873aaf25ae54b52f08a01107ae5f9b [file] [log] [blame]
[email protected]0fb25002012-10-12 07:20:021// 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.
[email protected]cd57cc5a2012-10-12 22:43:414
[email protected]cc3cfaa2013-03-18 09:05:525#ifndef CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
6#define CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
[email protected]cd57cc5a2012-10-12 22:43:417
[email protected]9260757f2013-09-17 01:24:168#include "cc/resources/single_release_callback.h"
9
[email protected]cd57cc5a2012-10-12 22:43:4110namespace cc {
[email protected]b4da2032012-10-25 21:22:5511class ResourceUpdateQueue;
[email protected]e8e4ae232013-04-12 00:26:0112class TextureMailbox;
[email protected]cd57cc5a2012-10-12 22:43:4113
[email protected]96baf3e2012-10-22 23:09:5514class TextureLayerClient {
[email protected]8b1040602013-03-19 17:28:0915 public:
[email protected]e8e4ae232013-04-12 00:26:0116 // 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.
[email protected]9260757f2013-09-17 01:24:1619 virtual bool PrepareTextureMailbox(
20 TextureMailbox* mailbox,
21 scoped_ptr<SingleReleaseCallback>* release_callback,
22 bool use_shared_memory) = 0;
[email protected]e8e4ae232013-04-12 00:26:0123
[email protected]8b1040602013-03-19 17:28:0924 protected:
25 virtual ~TextureLayerClient() {}
[email protected]cd57cc5a2012-10-12 22:43:4126};
27
[email protected]8b1040602013-03-19 17:28:0928} // namespace cc
[email protected]cd57cc5a2012-10-12 22:43:4129
[email protected]cc3cfaa2013-03-18 09:05:5230#endif // CC_LAYERS_TEXTURE_LAYER_CLIENT_H_