aboutsummaryrefslogtreecommitdiffstats
path: root/src/gwin/gwin_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gwin/gwin_list.h')
-rw-r--r--src/gwin/gwin_list.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gwin/gwin_list.h b/src/gwin/gwin_list.h
index 2ab06960..a60ded9d 100644
--- a/src/gwin/gwin_list.h
+++ b/src/gwin/gwin_list.h
@@ -76,6 +76,35 @@ typedef struct GListObject {
*/
typedef enum scroll_t { scrollAlways, scrollAuto, scrollSmooth } scroll_t;
+/**
+ * @brief The internal list object flags
+ * @note Used only for writing a custom draw routine.
+ * @{
+ */
+#define GLIST_FLG_MULTISELECT (GWIN_FIRST_CONTROL_FLAG << 0)
+#define GLIST_FLG_HASIMAGES (GWIN_FIRST_CONTROL_FLAG << 1)
+#define GLIST_FLG_SCROLLALWAYS (GWIN_FIRST_CONTROL_FLAG << 2)
+#define GLIST_FLG_SCROLLSMOOTH (GWIN_FIRST_CONTROL_FLAG << 3)
+#define GLIST_FLG_ENABLERENDER (GWIN_FIRST_CONTROL_FLAG << 4)
+/** @} */
+
+/**
+ * @brief The internal list item structure
+ * @note Used only for writing a custom draw routine.
+ */
+typedef struct ListItem {
+ gfxQueueASyncItem q_item; // This must be the first member in the struct
+
+ uint16_t flags;
+ #define GLIST_FLG_SELECTED 0x0001
+ uint16_t param; // A parameter the user can specify himself
+ const char* text;
+ #if GWIN_NEED_LIST_IMAGES
+ gdispImage* pimg;
+ #endif
+} ListItem;
+
+
#ifdef __cplusplus
extern "C" {
#endif