1 // Copyright 2014 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 CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_FACTORY_HOST_H_ 6 #define CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_FACTORY_HOST_H_ 7 8 #include "base/callback.h" 9 10 namespace gfx { 11 class Size; 12 struct GpuMemoryBufferHandle; 13 } 14 15 namespace content { 16 17 class CONTENT_EXPORT GpuMemoryBufferFactoryHost { 18 public: 19 typedef base::Callback<void(const gfx::GpuMemoryBufferHandle& handle)> 20 CreateGpuMemoryBufferCallback; 21 22 virtual void CreateGpuMemoryBuffer( 23 const gfx::GpuMemoryBufferHandle& handle, 24 const gfx::Size& size, 25 unsigned internalformat, 26 unsigned usage, 27 const CreateGpuMemoryBufferCallback& callback) = 0; 28 virtual void DestroyGpuMemoryBuffer(const gfx::GpuMemoryBufferHandle& handle, 29 int32 sync_point) = 0; 30 31 protected: ~GpuMemoryBufferFactoryHost()32 virtual ~GpuMemoryBufferFactoryHost() {} 33 }; 34 35 } // namespace content 36 37 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_FACTORY_HOST_H_ 38