From 3fc579c7d4b6db1c2ea4f35dec66d9e9842a5bad Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 29 Jun 2022 17:03:44 +0200 Subject: [PATCH] tinydisplay: Implement resizeability of offscreen buffers Fixes #1322 --- panda/src/tinydisplay/tinyGraphicsBuffer.cxx | 9 +++++++++ panda/src/tinydisplay/tinyGraphicsBuffer.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/panda/src/tinydisplay/tinyGraphicsBuffer.cxx b/panda/src/tinydisplay/tinyGraphicsBuffer.cxx index ea8e8241a6..47c0327f1b 100644 --- a/panda/src/tinydisplay/tinyGraphicsBuffer.cxx +++ b/panda/src/tinydisplay/tinyGraphicsBuffer.cxx @@ -89,6 +89,15 @@ end_frame(FrameMode mode, Thread *current_thread) { } } +/** + * + */ +void TinyGraphicsBuffer:: +set_size(int x, int y) { + GraphicsBuffer::set_size(x, y); + create_frame_buffer(); +} + /** * Closes the buffer right now. Called from the buffer thread. */ diff --git a/panda/src/tinydisplay/tinyGraphicsBuffer.h b/panda/src/tinydisplay/tinyGraphicsBuffer.h index 79c6e8c5e5..e1fe665959 100644 --- a/panda/src/tinydisplay/tinyGraphicsBuffer.h +++ b/panda/src/tinydisplay/tinyGraphicsBuffer.h @@ -35,6 +35,8 @@ public: virtual bool begin_frame(FrameMode mode, Thread *current_thread); virtual void end_frame(FrameMode mode, Thread *current_thread); + virtual void set_size(int x, int y); + INLINE ZBuffer *get_frame_buffer(); protected: