1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00
GLideN64/src/Graphics/PixelBuffer.h
Logan McNaughton 958758b37a Remove PixelWriteBuffer
And a few other small fixes
2018-03-09 20:32:56 +07:00

34 lines
639 B
C++

#pragma once
#include "Parameter.h"
namespace graphics {
class PixelReadBuffer
{
public:
virtual ~PixelReadBuffer() {}
virtual void readPixels(s32 _x,s32 _y, u32 _width, u32 _height, Parameter _format, Parameter _type) = 0;
virtual void * getDataRange(u32 _offset, u32 _range) = 0;
virtual void closeReadBuffer() = 0;
virtual void bind() = 0;
virtual void unbind() = 0;
};
template<class T>
class PixelBufferBinder
{
public:
PixelBufferBinder(T * _buffer)
: m_buffer(_buffer) {
m_buffer->bind();
}
~PixelBufferBinder() {
m_buffer->unbind();
m_buffer = nullptr;
}
private:
T * m_buffer;
};
}