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
------------------
Branch: ni/coolstream
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 was generated by Migit
This commit is contained in:
Michael Liebmann
2017-02-19 23:45:09 +01:00
parent b59d0fa8f9
commit c7cbed3137
5 changed files with 92 additions and 0 deletions

View File

@@ -100,6 +100,7 @@ class CFbAccelCSHD1
inline void paintHLineRel(int x, int dx, int y, const fb_pixel_t col) { paintLine(x, y, x+dx, y, col); };
inline void paintVLineRel(int x, int y, int dy, const fb_pixel_t col) { paintLine(x, y, x, y+dy, col); };
void paintBoxRel(const int x, const int y, const int dx, const int dy, const fb_pixel_t col, int radius = 0, int type = CORNER_ALL);
void fbCopyArea(uint32_t width, uint32_t height, uint32_t dst_x, uint32_t dst_y, uint32_t src_x, uint32_t src_y);
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);
void blitBox2FB(const fb_pixel_t* boxBuf, uint32_t width, uint32_t height, uint32_t xoff, uint32_t yoff);
void waitForIdle(const char *func = NULL);
@@ -123,6 +124,7 @@ class CFbAccelCSHD2
void paintHLineRel(int x, int dx, int y, const fb_pixel_t col);
void paintVLineRel(int x, int y, int dy, const fb_pixel_t col);
void paintBoxRel(const int x, const int y, const int dx, const int dy, const fb_pixel_t col, int radius = 0, int type = CORNER_ALL);
void fbCopyArea(uint32_t width, uint32_t height, uint32_t dst_x, uint32_t dst_y, uint32_t src_x, uint32_t src_y);
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);
void blitBox2FB(const fb_pixel_t* boxBuf, uint32_t width, uint32_t height, uint32_t xoff, uint32_t yoff);
fb_pixel_t * getBackBufferPointer() const;