[PATCH 00/19] expo: Improve positioning for cedit

Simon Glass sjg at chromium.org
Mon May 5 17:42:38 CEST 2025


At present cedits look a little odd when they have both menus and
textlines. This series tidies that up and improves the testing to cover
this situation.

Expos now have 'requested' positions for each object, which are synced
to the actual positions when scene_arrange() is called. This solves a
problem where moving an object or changing and object puts expo into an
inconsistent state briefly, until the scene is next rendered.


Simon Glass (19):
  expo: Comment scene_obj fields which are for internal use
  expo: Use a different logo for the second menu-item
  expo: Create a function to arrange the current scene
  expo: Avoid arranging the scene willy nilly
  expo: Drop the extra parameter to scene_calc_dims()
  expo: Separate out reading the theme from applying it
  expo: Add extra checks for rendering
  expo: Record the pointer position in the menu item
  expo: Arrange cedit after setting dimensions
  expo: Provide a few functions for working with dimensions
  expo: Move menu dims calculations into scene_menu_arrange()
  expo: Check dimensions before arranging a scene
  expo: Simplify scene_textline dimension calculation
  expo: Use a var to arrange horizonal positions in menu
  expo: Allow the menu pointer to be wider
  expo: Drop space from object name in test
  expo: Separate requested bbox from actual
  expo: Honour the textline edit_id when building
  expo: Tidy up insets and improve tests

 arch/sandbox/dts/sandbox.dtsi |   4 +-
 arch/sandbox/dts/test.dts     |   1 +
 boot/bootflow_menu.c          |  16 +--
 boot/cedit.c                  |  16 ++-
 boot/expo.c                   |  67 +++++++----
 boot/expo_build.c             |   6 +-
 boot/scene.c                  | 205 ++++++++++++++++++++++++----------
 boot/scene_internal.h         |  52 ++++++---
 boot/scene_menu.c             | 110 +++++++++++-------
 boot/scene_textline.c         |  49 ++++----
 cmd/bootflow.c                |   3 +
 cmd/cedit.c                   |   2 +-
 doc/develop/expo.rst          |   4 +
 drivers/video/video-uclass.c  |   6 +-
 include/expo.h                |  64 ++++++++++-
 include/video.h               |   3 +-
 test/boot/bootflow.c          |   2 +-
 test/boot/cedit.c             | 152 ++++++++++++++++++++++---
 test/boot/expo.c              |  82 +++++++++-----
 19 files changed, 608 insertions(+), 236 deletions(-)

-- 
2.43.0

base-commit: a15813efc66b624cede0f3c6107ca77abbffe1f2
branch: sche


More information about the U-Boot mailing list