summaryrefslogtreecommitdiff
path: root/src/libs/lvgl/src/lv_objx/lv_tileview.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/lvgl/src/lv_objx/lv_tileview.h')
m---------src/libs/lvgl0
-rw-r--r--src/libs/lvgl/src/lv_objx/lv_tileview.h178
2 files changed, 178 insertions, 0 deletions
diff --git a/src/libs/lvgl b/src/libs/lvgl
deleted file mode 160000
-Subproject ee95d1c9cf74899585f9165458911f2d54ca750
diff --git a/src/libs/lvgl/src/lv_objx/lv_tileview.h b/src/libs/lvgl/src/lv_objx/lv_tileview.h
new file mode 100644
index 0000000..60e4098
--- /dev/null
+++ b/src/libs/lvgl/src/lv_objx/lv_tileview.h
@@ -0,0 +1,178 @@
+/**
+ * @file lv_tileview.h
+ *
+ */
+
+#ifndef LV_TILEVIEW_H
+#define LV_TILEVIEW_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*********************
+ * INCLUDES
+ *********************/
+#ifdef LV_CONF_INCLUDE_SIMPLE
+#include "lv_conf.h"
+#else
+#include "../../../lv_conf.h"
+#endif
+
+#if LV_USE_TILEVIEW != 0
+
+#include "../lv_objx/lv_page.h"
+
+/*********************
+ * DEFINES
+ *********************/
+
+/**********************
+ * TYPEDEFS
+ **********************/
+
+/*Data of tileview*/
+typedef struct
+{
+ lv_page_ext_t page;
+ /*New data for this type */
+ const lv_point_t * valid_pos;
+ uint16_t valid_pos_cnt;
+#if LV_USE_ANIMATION
+ uint16_t anim_time;
+#endif
+ lv_point_t act_id;
+ uint8_t drag_top_en : 1;
+ uint8_t drag_bottom_en : 1;
+ uint8_t drag_left_en : 1;
+ uint8_t drag_right_en : 1;
+ uint8_t drag_hor : 1;
+ uint8_t drag_ver : 1;
+} lv_tileview_ext_t;
+
+/*Styles*/
+enum {
+ LV_TILEVIEW_STYLE_MAIN,
+};
+typedef uint8_t lv_tileview_style_t;
+
+/**********************
+ * GLOBAL PROTOTYPES
+ **********************/
+
+/**
+ * Create a tileview objects
+ * @param par pointer to an object, it will be the parent of the new tileview
+ * @param copy pointer to a tileview object, if not NULL then the new object will be copied from it
+ * @return pointer to the created tileview
+ */
+lv_obj_t * lv_tileview_create(lv_obj_t * par, const lv_obj_t * copy);
+
+/*======================
+ * Add/remove functions
+ *=====================*/
+
+/**
+ * Register an object on the tileview. The register object will able to slide the tileview
+ * @param tileview pointer to a Tileview object
+ * @param element pointer to an object
+ */
+void lv_tileview_add_element(lv_obj_t * tileview, lv_obj_t * element);
+
+/*=====================
+ * Setter functions
+ *====================*/
+
+/**
+ * Set the valid position's indices. The scrolling will be possible only to these positions.
+ * @param tileview pointer to a Tileview object
+ * @param valid_pos array width the indices. E.g. `lv_point_t p[] = {{0,0}, {1,0}, {1,1}`.
+ * Only the pointer is saved so can't be a local variable.
+ * @param valid_pos_cnt numner of elements in `valid_pos` array
+ */
+void lv_tileview_set_valid_positions(lv_obj_t * tileview, const lv_point_t valid_pos[], uint16_t valid_pos_cnt);
+
+/**
+ * Set the tile to be shown
+ * @param tileview pointer to a tileview object
+ * @param x column id (0, 1, 2...)
+ * @param y line id (0, 1, 2...)
+ * @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately
+ */
+void lv_tileview_set_tile_act(lv_obj_t * tileview, lv_coord_t x, lv_coord_t y, lv_anim_enable_t anim);
+
+/**
+ * Enable the edge flash effect. (Show an arc when the an edge is reached)
+ * @param tileview pointer to a Tileview
+ * @param en true or false to enable/disable end flash
+ */
+static inline void lv_tileview_set_edge_flash(lv_obj_t * tileview, bool en)
+{
+ lv_page_set_edge_flash(tileview, en);
+}
+
+/**
+ * Set the animation time for the Tile view
+ * @param tileview pointer to a page object
+ * @param anim_time animation time in milliseconds
+ */
+static inline void lv_tileview_set_anim_time(lv_obj_t * tileview, uint16_t anim_time)
+{
+ lv_page_set_anim_time(tileview, anim_time);
+}
+
+/**
+ * Set a style of a tileview.
+ * @param tileview pointer to tileview object
+ * @param type which style should be set
+ * @param style pointer to a style
+ */
+void lv_tileview_set_style(lv_obj_t * tileview, lv_tileview_style_t type, const lv_style_t * style);
+
+/*=====================
+ * Getter functions
+ *====================*/
+
+/**
+ * Get the scroll propagation property
+ * @param tileview pointer to a Tileview
+ * @return true or false
+ */
+static inline bool lv_tileview_get_edge_flash(lv_obj_t * tileview)
+{
+ return lv_page_get_edge_flash(tileview);
+}
+
+/**
+ * Get the animation time for the Tile view
+ * @param tileview pointer to a page object
+ * @return animation time in milliseconds
+ */
+static inline uint16_t lv_tileview_get_anim_time(lv_obj_t * tileview)
+{
+ return lv_page_get_anim_time(tileview);
+}
+
+/**
+ * Get style of a tileview.
+ * @param tileview pointer to tileview object
+ * @param type which style should be get
+ * @return style pointer to the style
+ */
+const lv_style_t * lv_tileview_get_style(const lv_obj_t * tileview, lv_tileview_style_t type);
+
+/*=====================
+ * Other functions
+ *====================*/
+
+/**********************
+ * MACROS
+ **********************/
+
+#endif /*LV_USE_TILEVIEW*/
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*LV_TILEVIEW_H*/