texture_layer_client.h 920 B

123456789101112131415161718192021222324252627282930313233
  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. #ifndef CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
  5. #define CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
  6. #include "components/viz/common/resources/release_callback.h"
  7. namespace viz {
  8. struct TransferableResource;
  9. }
  10. namespace cc {
  11. class SharedBitmapIdRegistrar;
  12. class TextureLayerClient {
  13. public:
  14. // Returns true and provides a mailbox if a new frame is available.
  15. // Returns false if no new data is available
  16. // and the old mailbox is to be reused.
  17. virtual bool PrepareTransferableResource(
  18. SharedBitmapIdRegistrar* bitmap_registar,
  19. viz::TransferableResource* transferable_resource,
  20. viz::ReleaseCallback* release_callback) = 0;
  21. protected:
  22. virtual ~TextureLayerClient() {}
  23. };
  24. } // namespace cc
  25. #endif // CC_LAYERS_TEXTURE_LAYER_CLIENT_H_