Home | History | Annotate | Download | only in layers
      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 
     10 namespace cc {
     11 class ResourceUpdateQueue;
     12 class TextureMailbox;
     13 
     14 class 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