aboutsummaryrefslogtreecommitdiff
path: root/src/include/ipxe/label.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/ipxe/label.h')
-rw-r--r--src/include/ipxe/label.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/include/ipxe/label.h b/src/include/ipxe/label.h
new file mode 100644
index 0000000..48e36cb
--- /dev/null
+++ b/src/include/ipxe/label.h
@@ -0,0 +1,42 @@
+#ifndef _IPXE_LABEL_H
+#define _IPXE_LABEL_H
+
+/** @file
+ *
+ * Text label widget
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
+
+#include <curses.h>
+#include <ipxe/widget.h>
+
+/** A text label widget */
+struct label {
+ /** Text widget */
+ struct widget widget;
+ /** Label text */
+ const char *text;
+};
+
+extern struct widget_operations label_operations;
+
+/**
+ * Initialise text label widget
+ *
+ * @v label Text label widget
+ * @v row Row
+ * @v col Starting column
+ * @v width Width
+ * @v text Label text
+ */
+static inline __attribute__ (( always_inline )) void
+init_label ( struct label *label, unsigned int row, unsigned int col,
+ unsigned int width, const char *text ) {
+
+ init_widget ( &label->widget, &label_operations, row, col, width, 0 );
+ label->text = text;
+}
+
+#endif /* _IPXE_LABEL_H */