11.4.2 Hardware cursor support
The hardware cursor feature reduces software overhead associated with maintaining a cursor image in the LCD frame buffer. Without this feature, software needed to:
â¢ Save an image of the area under the next cursor position.
â¢ Update the area with the cursor image.
â¢ Repair the last cursor position with a previously saved image.
In addition, the LCD driver had to check whether the graphics operation had overwritten the cursor, and correct it. With a cursor size of 64x64 and 24-bit color, each cursor move involved reading and writing approximately 75 kB of data. The hardware cursor removes the requirement for this management by providing a
completely separate image buffer for the cursor, and superimposing the cursor image on the LCD output stream at the current cursor (X,Y) coordinate.
To move the hardware cursor, the software driver supplies a new cursor coordinate. The frame buffer requires no modification. This significantly reduces software overhead.
The cursor image is held in the LCD controller in an internal 256x32-bit buffer memory.
You can still get the WaveShare Open1788 boards on eBay.
I don't know if more recent LPCxxxx parts have a similar hardware cursor capability. The NuttX framebuffer and LCD interfaces have methods to controlling a hardware cursor already in place but these would requires some integration to use with a mouse.