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