aboutsummaryrefslogtreecommitdiffstats
path: root/src/gwin/gwin_list.h
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2016-02-17 20:00:23 +1000
committerinmarket <andrewh@inmarket.com.au>2016-02-17 20:00:23 +1000
commitaddbf47bdbc0c0ca9b217c9001b31e747c57ff95 (patch)
tree09d3ce25c79352a025857133258e33e3ac6e62db /src/gwin/gwin_list.h
parent0f0964da99e5774504f6f9ee570813075194303d (diff)
downloaduGFX-addbf47bdbc0c0ca9b217c9001b31e747c57ff95.tar.gz
uGFX-addbf47bdbc0c0ca9b217c9001b31e747c57ff95.tar.bz2
uGFX-addbf47bdbc0c0ca9b217c9001b31e747c57ff95.zip
Move GWIN widget internal flags into the public header so that all the state flags are available for custom draw routines.
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