History log of /u-boot/boot/scene_internal.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# c4fea34f 01-Oct-2023 Simon Glass <sjg@chromium.org>

expo: Plumb in textlines to a scene

Provide an implementation for textlines in the scene code, so that they
are displayed correctly. Provide a way to have a border around the
textline, with the internal part being the same colour as the
background. This looks more natural.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 93c901bc 01-Oct-2023 Simon Glass <sjg@chromium.org>

expo: Support opening a textline

This object needs special handling when it is opened, to set up the CLI
and the vidconsole context. Add special support for this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 94598d5b 01-Oct-2023 Simon Glass <sjg@chromium.org>

expo: Allow rendering the background of any object

So far only menus have a background. When other object types are
rendered, they may have a background too. Make this code more generic
so it will be usable by new object types.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 8bc69b4b 01-Oct-2023 Simon Glass <sjg@chromium.org>

expo: Make calculation of an object bounding box generic

We want to support this for any object, not just menus. Move the code
around to allow this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 909c486d 01-Oct-2023 Simon Glass <sjg@chromium.org>

expo: Fix up comments for get_cur_menuitem_text() et al

This internal function could use a comment. Add one.

Also tidy up a few other comments.

Signed-off-by: Simon Glass <sjg@chromium.org>

fixup: comments

# cfc402db 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: cedit: Support reading settings from CMOS RAM

Add a command to read edit settings from CMOS RAM, using the cedit
definition to indicate which registers and bits are used.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 6e648fa7 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: Export scene_menuitem_find() for use in internal code

Make this function available to other expo code so we can use it to look
up a menu item.

Signed-off-by: Simon Glass <sjg@chromium.org>

# f2eb6ad5 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: Provide a way to iterate through all scene objects

For some operations it is necessary to process all objects in an expo.
Provide an iterator to handle this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 633b3dc7 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: Make scene_obj_find() take a const scene

This does not change the scene, so mark the pointer const.

Signed-off-by: Simon Glass <sjg@chromium.org>

# a0874dc4 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Add a configuration editor

Add a new 'cedit' command which allows editing configuration using an
expo. The configuration items appear as menus on the display.

This is extremely basic, only supporting menus and not providing any way
to load or save the configuration.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 4c87e073 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Draw the current opened menu on top

When a menu is opened, it must be displayed over all other objects in
the scene, so that all its items are visible.

Handle this by drawing the menu object a second time, after all other
objects have been drawn. Draw all of the objects which are dependent
on the menu object.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 756c9559 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Draw popup menus in both opened and closed states

When a popup menu is closed it shows only the selected item. When it is
open it shows a background and all items, with a highlight that can be
moved between the items.

Add the drawing logic for this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 2e593897 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Support simple themes

It is a pain to manually set the fonts of all objects to be consistent.
Some spacing settings are also better set globally than by manually
positioning each object.

Add a 'theme' to the expo, to hold this information. For now it includes
only the font size.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 699b0acb 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Set up the width and height of objects

Provide a way to set the full dimensions of objects, i.e. including the
width and height.

For menus, calculate the bounding box of all objects in the menu. Set all
labels to be the same size, so that highlighting works correct, once
implemented.

Signed-off-by: Simon Glass <sjg@chromium.org>

# ce72c9ec 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Use flags for objects

We currently have just a 'hide' property for each object. In preparation
for adding more properties, convert the struct to use a flags value,
instead of individual booleans. This is more extensible.

Signed-off-by: Simon Glass <sjg@chromium.org>

# d2043b56 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Correct some header-file comments

The use of Returns instead of @return still confuses me. Fix some problems
that have crept in.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 5e2607ae 06-Jan-2023 Simon Glass <sjg@chromium.org>

expo: Add support for scenes

A scene is a single screen within an expo. It is possible to move between
scenes but only one can be displayed at once.

Add a basic implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>

# cfc402db 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: cedit: Support reading settings from CMOS RAM

Add a command to read edit settings from CMOS RAM, using the cedit
definition to indicate which registers and bits are used.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 6e648fa7 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: Export scene_menuitem_find() for use in internal code

Make this function available to other expo code so we can use it to look
up a menu item.

Signed-off-by: Simon Glass <sjg@chromium.org>

# f2eb6ad5 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: Provide a way to iterate through all scene objects

For some operations it is necessary to process all objects in an expo.
Provide an iterator to handle this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 633b3dc7 14-Aug-2023 Simon Glass <sjg@chromium.org>

expo: Make scene_obj_find() take a const scene

This does not change the scene, so mark the pointer const.

Signed-off-by: Simon Glass <sjg@chromium.org>

# a0874dc4 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Add a configuration editor

Add a new 'cedit' command which allows editing configuration using an
expo. The configuration items appear as menus on the display.

This is extremely basic, only supporting menus and not providing any way
to load or save the configuration.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 4c87e073 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Draw the current opened menu on top

When a menu is opened, it must be displayed over all other objects in
the scene, so that all its items are visible.

Handle this by drawing the menu object a second time, after all other
objects have been drawn. Draw all of the objects which are dependent
on the menu object.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 756c9559 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Draw popup menus in both opened and closed states

When a popup menu is closed it shows only the selected item. When it is
open it shows a background and all items, with a highlight that can be
moved between the items.

Add the drawing logic for this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 2e593897 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Support simple themes

It is a pain to manually set the fonts of all objects to be consistent.
Some spacing settings are also better set globally than by manually
positioning each object.

Add a 'theme' to the expo, to hold this information. For now it includes
only the font size.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 699b0acb 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Set up the width and height of objects

Provide a way to set the full dimensions of objects, i.e. including the
width and height.

For menus, calculate the bounding box of all objects in the menu. Set all
labels to be the same size, so that highlighting works correct, once
implemented.

Signed-off-by: Simon Glass <sjg@chromium.org>

# ce72c9ec 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Use flags for objects

We currently have just a 'hide' property for each object. In preparation
for adding more properties, convert the struct to use a flags value,
instead of individual booleans. This is more extensible.

Signed-off-by: Simon Glass <sjg@chromium.org>

# d2043b56 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Correct some header-file comments

The use of Returns instead of @return still confuses me. Fix some problems
that have crept in.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 5e2607ae 06-Jan-2023 Simon Glass <sjg@chromium.org>

expo: Add support for scenes

A scene is a single screen within an expo. It is possible to move between
scenes but only one can be displayed at once.

Add a basic implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>

# a0874dc4 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Add a configuration editor

Add a new 'cedit' command which allows editing configuration using an
expo. The configuration items appear as menus on the display.

This is extremely basic, only supporting menus and not providing any way
to load or save the configuration.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 4c87e073 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Draw the current opened menu on top

When a menu is opened, it must be displayed over all other objects in
the scene, so that all its items are visible.

Handle this by drawing the menu object a second time, after all other
objects have been drawn. Draw all of the objects which are dependent
on the menu object.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 756c9559 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Draw popup menus in both opened and closed states

When a popup menu is closed it shows only the selected item. When it is
open it shows a background and all items, with a highlight that can be
moved between the items.

Add the drawing logic for this.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 2e593897 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Support simple themes

It is a pain to manually set the fonts of all objects to be consistent.
Some spacing settings are also better set globally than by manually
positioning each object.

Add a 'theme' to the expo, to hold this information. For now it includes
only the font size.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 699b0acb 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Set up the width and height of objects

Provide a way to set the full dimensions of objects, i.e. including the
width and height.

For menus, calculate the bounding box of all objects in the menu. Set all
labels to be the same size, so that highlighting works correct, once
implemented.

Signed-off-by: Simon Glass <sjg@chromium.org>

# ce72c9ec 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Use flags for objects

We currently have just a 'hide' property for each object. In preparation
for adding more properties, convert the struct to use a flags value,
instead of individual booleans. This is more extensible.

Signed-off-by: Simon Glass <sjg@chromium.org>

# d2043b56 01-Jun-2023 Simon Glass <sjg@chromium.org>

expo: Correct some header-file comments

The use of Returns instead of @return still confuses me. Fix some problems
that have crept in.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 5e2607ae 06-Jan-2023 Simon Glass <sjg@chromium.org>

expo: Add support for scenes

A scene is a single screen within an expo. It is possible to move between
scenes but only one can be displayed at once.

Add a basic implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>

# 5e2607ae 06-Jan-2023 Simon Glass <sjg@chromium.org>

expo: Add support for scenes

A scene is a single screen within an expo. It is possible to move between
scenes but only one can be displayed at once.

Add a basic implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>