aboutsummaryrefslogtreecommitdiff
path: root/include/video.h
diff options
context:
space:
mode:
authorSimon Glass2022-10-06 08:36:03 -0600
committerAnatolij Gustschin2022-10-30 08:43:24 +0100
commita032e4b55ea717fb931dd0d4754cf72b9bafe2f4 (patch)
tree503fc51df906b9bb0920be7d241af3495fc1883b /include/video.h
parentdb2c8ed3a5850e64fcf612d099ce7b22c480a752 (diff)
video: Move console colours to the video uclass
At present these are attached to vidconsole which means that the video uclass requires that a console is enabled. This is not the intention. The colours are a reasonable way of indexing common colours in any case, so move them to the video uclass instead. Rename vid_console_color() to video_index_to_colour() now that it is more generic. Also fix the inconsistent spelling in these functions. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/video.h')
-rw-r--r--include/video.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/video.h b/include/video.h
index 43e2c899778..1c30aea73c0 100644
--- a/include/video.h
+++ b/include/video.h
@@ -131,6 +131,41 @@ struct video_ops {
#define video_get_ops(dev) ((struct video_ops *)(dev)->driver->ops)
+/** enum colour_idx - the 16 colors supported by consoles */
+enum colour_idx {
+ VID_BLACK = 0,
+ VID_RED,
+ VID_GREEN,
+ VID_BROWN,
+ VID_BLUE,
+ VID_MAGENTA,
+ VID_CYAN,
+ VID_LIGHT_GRAY,
+ VID_GRAY,
+ VID_LIGHT_RED,
+ VID_LIGHT_GREEN,
+ VID_YELLOW,
+ VID_LIGHT_BLUE,
+ VID_LIGHT_MAGENTA,
+ VID_LIGHT_CYAN,
+ VID_WHITE,
+
+ VID_COLOUR_COUNT
+};
+
+/**
+ * video_index_to_colour() - convert a color code to a pixel's internal
+ * representation
+ *
+ * The caller has to guarantee that the color index is less than
+ * VID_COLOR_COUNT.
+ *
+ * @priv private data of the console device
+ * @idx color index
+ * Return: color value
+ */
+u32 video_index_to_colour(struct video_priv *priv, unsigned int idx);
+
/**
* video_reserve() - Reserve frame-buffer memory for video devices
*