[Concept,00/14] expo: Continue development of expo with mouse

Message ID 20251006165452.1675349-1-sjg@u-boot.org
Headers
Series expo: Continue development of expo with mouse |

Message

Simon Glass Oct. 6, 2025, 4:54 p.m. UTC
  From: Simon Glass <sjg@chromium.org>

This series integrates mouse support into expo and starts to build the
infrastructure for drawing the mouse pointer more efficiently (i.e.
without re-rendering the entire scene).

It also adds a few more structs to video_defs.h for position and size.

This is part D.


Simon Glass (14):
  video: Add struct vid_pos for coordinates
  mouse: Use struct vid_pos for click position
  mouse: Update mouse_get_click() to use struct vid_pos
  expo: Update poll_mouse() to use struct vid_pos
  video: Add struct vid_size for width/height
  mouse: Track last mouse position
  expo: Store mouse pointer and size in expo
  expo: Show the mouse when enabled
  expo: Drop struct scene_obj_bbox in favour of vid_bbox
  expo: Add damage tracking
  expo: Set dirty flag when an object bbox changes
  expo: Add a way to calculate the bbox of dirty objects
  expo: Add selective rendering for dirty objects in scene
  expo: Support drawing only the dirty portion of an expo

 boot/cedit.c                 |  12 ++-
 boot/expo.c                  | 141 ++++++++++++++++++++++++++++++++---
 boot/scene.c                 |  79 +++++++++++++++++++-
 boot/scene_internal.h        |   3 +-
 cmd/bootflow.c               |  12 ++-
 drivers/input/mouse-uclass.c |  34 +++++++--
 include/expo.h               |  83 ++++++++++++++++-----
 include/mouse.h              |  23 ++++--
 include/video_defs.h         |  23 ++++++
 test/boot/cedit.c            |  21 ++++--
 test/dm/mouse.c              |  29 ++++---
 11 files changed, 383 insertions(+), 77 deletions(-)