framebuffer: Add fbCopyArea function

- Copies areas within the frame buffer
 - Hardware accelerated function for cs hd2
 - Copying overlapping areas does not always work correctly
 without hardware acceleration


Origin commit data
------------------
Commit: cc5a1b3b31
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2017-02-19 (Sun, 19 Feb 2017)

Origin message was:
------------------
framebuffer: Add fbCopyArea function

 - Copies areas within the frame buffer
 - Hardware accelerated function for cs hd2
 - Copying overlapping areas does not always work correctly
  without hardware acceleration
This commit is contained in:
Michael Liebmann
2017-02-19 23:45:09 +01:00
parent fdf8abc174
commit 6fa6152445
5 changed files with 92 additions and 0 deletions

View File

@@ -266,6 +266,7 @@ class CFrameBuffer : public sigc::trackable
void* convertRGB2FB(unsigned char *rgbbuff, unsigned long x, unsigned long y, int transp = 0xFF);
void* convertRGBA2FB(unsigned char *rgbbuff, unsigned long x, unsigned long y);
void displayRGB(unsigned char *rgbbuff, int x_size, int y_size, int x_pan, int y_pan, int x_offs, int y_offs, bool clearfb = true, int transp = 0xFF);
virtual void fbCopyArea(uint32_t width, uint32_t height, uint32_t dst_x, uint32_t dst_y, uint32_t src_x, uint32_t src_y);
virtual void blit2FB(void *fbbuff, uint32_t width, uint32_t height, uint32_t xoff, uint32_t yoff, uint32_t xp = 0, uint32_t yp = 0, bool transp = false);
virtual void blitBox2FB(const fb_pixel_t* boxBuf, uint32_t width, uint32_t height, uint32_t xoff, uint32_t yoff);