15063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang//
25063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
35063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang// Use of this source code is governed by a BSD-style license that can be
45063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang// found in the LICENSE file.
55063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang//
65063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
75063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang#ifndef LIBGLESV2_RENDERER_D3D_MEMORYBUFFER_H_
85063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang#define LIBGLESV2_RENDERER_D3D_MEMORYBUFFER_H_
95063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
105063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang#include <cstddef>
115063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang#include <cstdint>
125063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
135063f55a823348ef6ac774a10e12f410c98af7c8Geoff Langnamespace rx
145063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang{
155063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
165063f55a823348ef6ac774a10e12f410c98af7c8Geoff Langclass MemoryBuffer
175063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang{
185063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang  public:
195063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    MemoryBuffer();
205063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    ~MemoryBuffer();
215063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
225063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    bool resize(size_t size);
235063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    size_t size() const;
24ee009b8ee5f35dc6cca44a30d4d6c9c65cfdb0a7Jamie Madill    bool empty() const { return mSize == 0; }
255063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
265063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    const uint8_t *data() const;
275063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    uint8_t *data();
285063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
295063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang  private:
305063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    size_t mSize;
315063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang    uint8_t *mData;
325063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang};
335063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
345063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang}
355063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang
365063f55a823348ef6ac774a10e12f410c98af7c8Geoff Lang#endif // LIBGLESV2_RENDERER_D3D_MEMORYBUFFER_H
37