video: Add a way to get the default font height
authorSimon Glass <sjg@chromium.org>
Thu, 6 Oct 2022 14:36:18 +0000 (08:36 -0600)
committerAnatolij Gustschin <agust@denx.de>
Sun, 30 Oct 2022 19:01:40 +0000 (20:01 +0100)
This is not as simple as it seems. Add a function to provide it so that
the upcoming menu feature can space lines out correctly.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/video/video-uclass.c
include/video.h

index fbe1ad1..0ce376c 100644 (file)
@@ -421,6 +421,17 @@ static int show_splash(struct udevice *dev)
        return 0;
 }
 
+int video_default_font_height(struct udevice *dev)
+{
+       struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+
+       if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE))
+               return IF_ENABLED_INT(CONFIG_CONSOLE_TRUETYPE,
+                                     CONFIG_CONSOLE_TRUETYPE_SIZE);
+
+       return vc_priv->y_charsize;
+}
+
 /* Set up the display ready for use */
 static int video_post_probe(struct udevice *dev)
 {
index 32afb26..529f968 100644 (file)
@@ -286,6 +286,15 @@ void video_set_flush_dcache(struct udevice *dev, bool flush);
  */
 void video_set_default_colors(struct udevice *dev, bool invert);
 
+/**
+ * video_default_font_height() - Get the default font height
+ *
+ * @dev:       video device
+ * Returns: Default font height in pixels, which depends on which console driver
+ * is in use
+ */
+int video_default_font_height(struct udevice *dev);
+
 #ifdef CONFIG_VIDEO_COPY
 /**
  * vidconsole_sync_copy() - Sync back to the copy framebuffer