X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fgraphicsbuffer.h;h=47534c9b3cbb244f15f419fa0798d4abccbc4efc;hp=d74d344ac6563bae3da9773fe41ebea3dc964f2f;hb=eff96d65bd1101083e04cb3ff2468b3feea3ff9e;hpb=bdda0103bf26d215d41093316ca0e15cd67fec1d diff --git a/src/graphicsbuffer.h b/src/graphicsbuffer.h index d74d344..47534c9 100644 --- a/src/graphicsbuffer.h +++ b/src/graphicsbuffer.h @@ -9,7 +9,7 @@ namespace IPDF { /* - * The "Screen" class handles managing the OS window (using SDL2). + * Implementation of an OpenGL buffer, with some extra cleverness. */ class GraphicsBuffer { @@ -53,15 +53,19 @@ namespace IPDF void Resize(size_t length); const size_t GetSize() const { return m_buffer_size; } + + void Invalidate(); void Bind(); private: + void RecreateBuffer(); GLuint m_buffer_handle; BufferType m_buffer_type; BufferUsage m_buffer_usage; void *m_map_pointer; size_t m_buffer_size; bool m_invalidated; + bool m_buffer_shape_dirty; }; }