// AUTOGENERATED COPYRIGHT HEADER START
// Copyright (C) 2017-2023 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
// AUTOGENERATED COPYRIGHT HEADER END

#pragma once
#include "common.hpp"

#include "warning-disable.hpp"
#include <vector>
#include "warning-enable.hpp"

namespace streamfx::obs::gs {
	class index_buffer : public std::vector<uint32_t> {
		public:
		index_buffer(uint32_t maximumVertices);
		index_buffer();
		index_buffer(index_buffer& other);
		index_buffer(std::vector<uint32_t>& other);
		virtual ~index_buffer();

		gs_indexbuffer_t* get();

		gs_indexbuffer_t* get(bool refreshGPU);

		protected:
		gs_indexbuffer_t* _index_buffer;
	};
} // namespace streamfx::obs::gs
