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