diff options
author | Simon Glass <sjg@chromium.org> | 2025-04-02 06:29:39 +1300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2025-05-02 13:40:25 -0600 |
commit | cdd095e48a3934b18a3875c658cbb90d70aa8739 (patch) | |
tree | f9fdc6e187622c8ecdd1d4de1e497890107e7ce6 /include/video_console.h | |
parent | 030e53aaaa0f050a4059d4ae6297c224c9013d88 (diff) |
video: truetype: Support a limit on the width of a line
Expo needs to be able to word-wrap lines so that they are displayed as
the user expects. Add a limit on the width of each line and support this
in the measurement algorithm.
Add a log category to truetype while we are here.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/video_console.h')
-rw-r--r-- | include/video_console.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/include/video_console.h b/include/video_console.h index a0ee9ab62e9..1bb265dc9da 100644 --- a/include/video_console.h +++ b/include/video_console.h @@ -250,6 +250,7 @@ struct vidconsole_ops { * @name: Font name to use (NULL to use default) * @size: Font size to use (0 to use default) * @text: Text to measure + * @limit: Width limit for each line, or -1 if none * @bbox: Returns bounding box of text, assuming it is positioned * at 0,0 * @lines: If non-NULL, this must be an alist of @@ -259,8 +260,8 @@ struct vidconsole_ops { * Returns: 0 on success, -ENOENT if no such font */ int (*measure)(struct udevice *dev, const char *name, uint size, - const char *text, struct vidconsole_bbox *bbox, - struct alist *lines); + const char *text, int limit, + struct vidconsole_bbox *bbox, struct alist *lines); /** * nominal() - Measure the expected width of a line of text @@ -350,6 +351,7 @@ int vidconsole_select_font(struct udevice *dev, const char *name, uint size); * @name: Font name to use (NULL to use default) * @size: Font size to use (0 to use default) * @text: Text to measure + * @limit: Width limit for each line, or -1 if none * @bbox: Returns bounding box of text, assuming it is positioned * at 0,0 * @lines: If non-NULL, this must be an alist of @@ -359,8 +361,8 @@ int vidconsole_select_font(struct udevice *dev, const char *name, uint size); * Returns: 0 on success, -ENOENT if no such font */ int vidconsole_measure(struct udevice *dev, const char *name, uint size, - const char *text, struct vidconsole_bbox *bbox, - struct alist *lines); + const char *text, int limit, + struct vidconsole_bbox *bbox, struct alist *lines); /** * vidconsole_nominal() - Measure the expected width of a line of text * |