
#ifndef SPECTRE_GFXDRIVER_GFXDRIVER_H
#define SPECTRE_GFXDRIVER_GFXDRIVER_H

#include <string>

namespace sp {

class GfxDriver
{
public:
	enum BufferFlags {
		CLEAR_BUFFER_BIT,
	};

public:
	virtual std::string getVendor() const = 0;

	virtual void setViewport(int x, int y, int width, int height) = 0;

	virtual void setClearColor(float r, float g, float b, float a) = 0;

	virtual void clearBuffer(BufferFlags flags) = 0;

	virtual void clearColorBuffer() = 0;

	// Resources.
	
	// CreateIndexBuffer()
	// CreateVertexBuffer()
	
	// Draw calls
};

} // namespace sp

#endif /* SPECTRE_GFXDRIVER_GFXDRIVER_H */
