#ifndef CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_
#define CONTENT_COMMON_GPU_CLIENT_GPU_MEMORY_BUFFER_IMPL_H_
#include "base/memory/scoped_ptr.h"
#include "ui/gfx/gpu_memory_buffer.h"
#include "ui/gfx/size.h"
namespace content {
class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
public:
static scoped_ptr<GpuMemoryBufferImpl> Create(
gfx::GpuMemoryBufferHandle handle,
gfx::Size size,
unsigned internalformat);
virtual ~GpuMemoryBufferImpl();
static bool IsFormatValid(unsigned internalformat);
static size_t BytesPerPixel(unsigned internalformat);
virtual bool IsMapped() const OVERRIDE;
virtual uint32 GetStride() const OVERRIDE;
protected:
GpuMemoryBufferImpl(gfx::Size size, unsigned internalformat);
const gfx::Size size_;
unsigned internalformat_;
bool mapped_;
DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl);
};
}
#endif