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