From c259ae4ceee403460bc342cf92fb582150e4aaac Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 23 Mar 2022 22:12:38 -0400 Subject: [PATCH] Add Framebuffer.copy_rows_up() --- src/hulk/framebuffer.d | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/hulk/framebuffer.d b/src/hulk/framebuffer.d index 5ba3d0f..8398901 100644 --- a/src/hulk/framebuffer.d +++ b/src/hulk/framebuffer.d @@ -168,6 +168,20 @@ struct Framebuffer blend_alpha_bitmap(x, y, alpha_bitmap.ptr, width, height, color); } + /** + * Copy framebuffer rows up in the framebuffer. + * + * @param y Y coordinate of bottom side of region to copy up. + * @param height Height of region to copy up. + * @param offset Number of rows to copy region up by. + */ + void copy_rows_up(size_t y, size_t height, size_t offset) + { + memcpy32(&m_buffer[buffer_index(0u, y + height + offset - 1u)], + &m_buffer[buffer_index(0u, y + height - 1u)], + (m_stride * height)); + } + /** * Scale a color value by an alpha amount. *