mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 07:12:54 +08:00
graphics/nxbe: This seems to fix the last of software cursor bugs. On the LPC54, it looks pretty clean. Not flickery as I feared. Probably not so good on low end displays. Possible transient artifacts? Not sure, maybe. Or maybe my eyes are playing tricks froom staring at this too long.
This commit is contained in:
@@ -119,8 +119,8 @@ void NXGL_FUNCNAME(nxglib_cursor_backup, NXGLIB_SUFFIX)
|
||||
/* Get the source and destination addresses */
|
||||
|
||||
fbmem = (FAR uint8_t *)plane->pinfo.fbmem;
|
||||
sline = (FAR uint8_t *)fbmem + sstride * be->cursor.bounds.pt1.y +
|
||||
NXGL_SCALEX(be->cursor.bounds.pt1.x);
|
||||
sline = (FAR uint8_t *)fbmem + sstride * intersection.pt1.y +
|
||||
NXGL_SCALEX(intersection.pt1.x);
|
||||
dline = (FAR uint8_t *)be->cursor.bkgd + dstride * origin.y +
|
||||
NXGL_SCALEX(origin.x);
|
||||
|
||||
|
||||
@@ -169,8 +169,8 @@ void NXGL_FUNCNAME(nxglib_cursor_draw, NXGLIB_SUFFIX)
|
||||
|
||||
fbmem = (FAR uint8_t *)plane->pinfo.fbmem;
|
||||
sline = be->cursor.image + sstride * origin.y + (origin.x >> 2);
|
||||
dline = (FAR uint8_t *)fbmem + dstride * be->cursor.bounds.pt1.y +
|
||||
NXGL_SCALEX(be->cursor.bounds.pt1.x);
|
||||
dline = (FAR uint8_t *)fbmem + dstride * intersection.pt1.y +
|
||||
NXGL_SCALEX(intersection.pt1.x);
|
||||
|
||||
sshift = (3 - (origin.y & 3)) << 1; /* MS first {0, 2, 4, 6} */
|
||||
|
||||
|
||||
@@ -120,8 +120,8 @@ void NXGL_FUNCNAME(nxglib_cursor_erase, NXGLIB_SUFFIX)
|
||||
fbmem = (FAR uint8_t *)plane->pinfo.fbmem;
|
||||
sline = (FAR uint8_t *)be->cursor.bkgd + sstride * origin.y +
|
||||
NXGL_SCALEX(origin.x);
|
||||
dline = (FAR uint8_t *)fbmem + dstride * be->cursor.bounds.pt1.y +
|
||||
NXGL_SCALEX(be->cursor.bounds.pt1.x);
|
||||
dline = (FAR uint8_t *)fbmem + dstride * intersection.pt1.y +
|
||||
NXGL_SCALEX(intersection.pt1.x);
|
||||
|
||||
/* Erase the old cursor position by copying the previous content */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user