luat_lv_list.c 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. #include "luat_base.h"
  2. #include "lvgl.h"
  3. #include "luat_lvgl.h"
  4. // lv_obj_t* lv_list_create(lv_obj_t* par, lv_obj_t* copy)
  5. int luat_lv_list_create(lua_State *L) {
  6. LV_DEBUG("CALL lv_list_create");
  7. lv_obj_t* par = (lv_obj_t*)lua_touserdata(L, 1);
  8. lv_obj_t* copy = (lv_obj_t*)lua_touserdata(L, 2);
  9. lv_obj_t* ret = NULL;
  10. ret = lv_list_create(par ,copy);
  11. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  12. return 1;
  13. }
  14. // void lv_list_clean(lv_obj_t* list)
  15. int luat_lv_list_clean(lua_State *L) {
  16. LV_DEBUG("CALL lv_list_clean");
  17. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  18. lv_list_clean(list);
  19. return 0;
  20. }
  21. // lv_obj_t* lv_list_add_btn(lv_obj_t* list, void* img_src, char* txt)
  22. int luat_lv_list_add_btn(lua_State *L) {
  23. LV_DEBUG("CALL lv_list_add_btn");
  24. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  25. void* img_src = (void*)lua_touserdata(L, 2);
  26. char* txt = (char*)luaL_checkstring(L, 3);
  27. lv_obj_t* ret = NULL;
  28. ret = lv_list_add_btn(list ,img_src ,txt);
  29. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  30. return 1;
  31. }
  32. // bool lv_list_remove(lv_obj_t* list, uint16_t index)
  33. int luat_lv_list_remove(lua_State *L) {
  34. LV_DEBUG("CALL lv_list_remove");
  35. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  36. uint16_t index = (uint16_t)luaL_checkinteger(L, 2);
  37. bool ret;
  38. ret = lv_list_remove(list ,index);
  39. lua_pushboolean(L, ret);
  40. return 1;
  41. }
  42. // void lv_list_focus_btn(lv_obj_t* list, lv_obj_t* btn)
  43. int luat_lv_list_focus_btn(lua_State *L) {
  44. LV_DEBUG("CALL lv_list_focus_btn");
  45. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  46. lv_obj_t* btn = (lv_obj_t*)lua_touserdata(L, 2);
  47. lv_list_focus_btn(list ,btn);
  48. return 0;
  49. }
  50. // void lv_list_set_scrollbar_mode(lv_obj_t* list, lv_scrollbar_mode_t mode)
  51. int luat_lv_list_set_scrollbar_mode(lua_State *L) {
  52. LV_DEBUG("CALL lv_list_set_scrollbar_mode");
  53. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  54. lv_scrollbar_mode_t mode = (lv_scrollbar_mode_t)luaL_checkinteger(L, 2);
  55. lv_list_set_scrollbar_mode(list ,mode);
  56. return 0;
  57. }
  58. // void lv_list_set_scroll_propagation(lv_obj_t* list, bool en)
  59. int luat_lv_list_set_scroll_propagation(lua_State *L) {
  60. LV_DEBUG("CALL lv_list_set_scroll_propagation");
  61. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  62. bool en = (bool)lua_toboolean(L, 2);
  63. lv_list_set_scroll_propagation(list ,en);
  64. return 0;
  65. }
  66. // void lv_list_set_edge_flash(lv_obj_t* list, bool en)
  67. int luat_lv_list_set_edge_flash(lua_State *L) {
  68. LV_DEBUG("CALL lv_list_set_edge_flash");
  69. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  70. bool en = (bool)lua_toboolean(L, 2);
  71. lv_list_set_edge_flash(list ,en);
  72. return 0;
  73. }
  74. // void lv_list_set_anim_time(lv_obj_t* list, uint16_t anim_time)
  75. int luat_lv_list_set_anim_time(lua_State *L) {
  76. LV_DEBUG("CALL lv_list_set_anim_time");
  77. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  78. uint16_t anim_time = (uint16_t)luaL_checkinteger(L, 2);
  79. lv_list_set_anim_time(list ,anim_time);
  80. return 0;
  81. }
  82. // void lv_list_set_layout(lv_obj_t* list, lv_layout_t layout)
  83. int luat_lv_list_set_layout(lua_State *L) {
  84. LV_DEBUG("CALL lv_list_set_layout");
  85. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  86. lv_layout_t layout = (lv_layout_t)luaL_checkinteger(L, 2);
  87. lv_list_set_layout(list ,layout);
  88. return 0;
  89. }
  90. // char* lv_list_get_btn_text(lv_obj_t* btn)
  91. int luat_lv_list_get_btn_text(lua_State *L) {
  92. LV_DEBUG("CALL lv_list_get_btn_text");
  93. lv_obj_t* btn = (lv_obj_t*)lua_touserdata(L, 1);
  94. char* ret = NULL;
  95. ret = lv_list_get_btn_text(btn);
  96. lua_pushstring(L, ret);
  97. return 1;
  98. }
  99. // lv_obj_t* lv_list_get_btn_label(lv_obj_t* btn)
  100. int luat_lv_list_get_btn_label(lua_State *L) {
  101. LV_DEBUG("CALL lv_list_get_btn_label");
  102. lv_obj_t* btn = (lv_obj_t*)lua_touserdata(L, 1);
  103. lv_obj_t* ret = NULL;
  104. ret = lv_list_get_btn_label(btn);
  105. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  106. return 1;
  107. }
  108. // lv_obj_t* lv_list_get_btn_img(lv_obj_t* btn)
  109. int luat_lv_list_get_btn_img(lua_State *L) {
  110. LV_DEBUG("CALL lv_list_get_btn_img");
  111. lv_obj_t* btn = (lv_obj_t*)lua_touserdata(L, 1);
  112. lv_obj_t* ret = NULL;
  113. ret = lv_list_get_btn_img(btn);
  114. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  115. return 1;
  116. }
  117. // lv_obj_t* lv_list_get_prev_btn(lv_obj_t* list, lv_obj_t* prev_btn)
  118. int luat_lv_list_get_prev_btn(lua_State *L) {
  119. LV_DEBUG("CALL lv_list_get_prev_btn");
  120. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  121. lv_obj_t* prev_btn = (lv_obj_t*)lua_touserdata(L, 2);
  122. lv_obj_t* ret = NULL;
  123. ret = lv_list_get_prev_btn(list ,prev_btn);
  124. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  125. return 1;
  126. }
  127. // lv_obj_t* lv_list_get_next_btn(lv_obj_t* list, lv_obj_t* prev_btn)
  128. int luat_lv_list_get_next_btn(lua_State *L) {
  129. LV_DEBUG("CALL lv_list_get_next_btn");
  130. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  131. lv_obj_t* prev_btn = (lv_obj_t*)lua_touserdata(L, 2);
  132. lv_obj_t* ret = NULL;
  133. ret = lv_list_get_next_btn(list ,prev_btn);
  134. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  135. return 1;
  136. }
  137. // int32_t lv_list_get_btn_index(lv_obj_t* list, lv_obj_t* btn)
  138. int luat_lv_list_get_btn_index(lua_State *L) {
  139. LV_DEBUG("CALL lv_list_get_btn_index");
  140. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  141. lv_obj_t* btn = (lv_obj_t*)lua_touserdata(L, 2);
  142. int32_t ret;
  143. ret = lv_list_get_btn_index(list ,btn);
  144. lua_pushinteger(L, ret);
  145. return 1;
  146. }
  147. // uint16_t lv_list_get_size(lv_obj_t* list)
  148. int luat_lv_list_get_size(lua_State *L) {
  149. LV_DEBUG("CALL lv_list_get_size");
  150. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  151. uint16_t ret;
  152. ret = lv_list_get_size(list);
  153. lua_pushinteger(L, ret);
  154. return 1;
  155. }
  156. // lv_obj_t* lv_list_get_btn_selected(lv_obj_t* list)
  157. int luat_lv_list_get_btn_selected(lua_State *L) {
  158. LV_DEBUG("CALL lv_list_get_btn_selected");
  159. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  160. lv_obj_t* ret = NULL;
  161. ret = lv_list_get_btn_selected(list);
  162. if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
  163. return 1;
  164. }
  165. // lv_layout_t lv_list_get_layout(lv_obj_t* list)
  166. int luat_lv_list_get_layout(lua_State *L) {
  167. LV_DEBUG("CALL lv_list_get_layout");
  168. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  169. lv_layout_t ret;
  170. ret = lv_list_get_layout(list);
  171. lua_pushinteger(L, ret);
  172. return 1;
  173. }
  174. // lv_scrollbar_mode_t lv_list_get_scrollbar_mode(lv_obj_t* list)
  175. int luat_lv_list_get_scrollbar_mode(lua_State *L) {
  176. LV_DEBUG("CALL lv_list_get_scrollbar_mode");
  177. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  178. lv_scrollbar_mode_t ret;
  179. ret = lv_list_get_scrollbar_mode(list);
  180. lua_pushinteger(L, ret);
  181. return 1;
  182. }
  183. // bool lv_list_get_scroll_propagation(lv_obj_t* list)
  184. int luat_lv_list_get_scroll_propagation(lua_State *L) {
  185. LV_DEBUG("CALL lv_list_get_scroll_propagation");
  186. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  187. bool ret;
  188. ret = lv_list_get_scroll_propagation(list);
  189. lua_pushboolean(L, ret);
  190. return 1;
  191. }
  192. // bool lv_list_get_edge_flash(lv_obj_t* list)
  193. int luat_lv_list_get_edge_flash(lua_State *L) {
  194. LV_DEBUG("CALL lv_list_get_edge_flash");
  195. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  196. bool ret;
  197. ret = lv_list_get_edge_flash(list);
  198. lua_pushboolean(L, ret);
  199. return 1;
  200. }
  201. // uint16_t lv_list_get_anim_time(lv_obj_t* list)
  202. int luat_lv_list_get_anim_time(lua_State *L) {
  203. LV_DEBUG("CALL lv_list_get_anim_time");
  204. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  205. uint16_t ret;
  206. ret = lv_list_get_anim_time(list);
  207. lua_pushinteger(L, ret);
  208. return 1;
  209. }
  210. // void lv_list_up(lv_obj_t* list)
  211. int luat_lv_list_up(lua_State *L) {
  212. LV_DEBUG("CALL lv_list_up");
  213. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  214. lv_list_up(list);
  215. return 0;
  216. }
  217. // void lv_list_down(lv_obj_t* list)
  218. int luat_lv_list_down(lua_State *L) {
  219. LV_DEBUG("CALL lv_list_down");
  220. lv_obj_t* list = (lv_obj_t*)lua_touserdata(L, 1);
  221. lv_list_down(list);
  222. return 0;
  223. }
  224. // void lv_list_focus(lv_obj_t* btn, lv_anim_enable_t anim)
  225. int luat_lv_list_focus(lua_State *L) {
  226. LV_DEBUG("CALL lv_list_focus");
  227. lv_obj_t* btn = (lv_obj_t*)lua_touserdata(L, 1);
  228. lv_anim_enable_t anim = (lv_anim_enable_t)lua_toboolean(L, 2);
  229. lv_list_focus(btn ,anim);
  230. return 0;
  231. }