luat_lib_lvgl_map.c 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. @module lvgl
  3. @summary LVGL图像库
  4. @version 1.0
  5. @date 2021.06.01
  6. */
  7. #include "luat_base.h"
  8. #include "lvgl.h"
  9. #include "luat_lvgl.h"
  10. #if LV_USE_CHART
  11. int luat_lv_chart_set_range(lua_State *L) {
  12. LV_DEBUG("CALL lv_chart_set_range");
  13. lv_obj_t* chart = (lv_obj_t*)lua_touserdata(L, 1);
  14. lv_coord_t ymin = (lv_coord_t)luaL_checkinteger(L, 2);
  15. lv_coord_t ymax = (lv_coord_t)luaL_checkinteger(L, 3);
  16. lv_chart_set_y_range(chart, LV_CHART_AXIS_PRIMARY_Y, ymin, ymax);
  17. return 0;
  18. }
  19. int luat_lv_chart_clear_serie(lua_State *L) {
  20. LV_DEBUG("CALL lv_chart_clear_serie");
  21. lv_obj_t* chart = (lv_obj_t*)lua_touserdata(L, 1);
  22. lv_chart_series_t* series = (lv_chart_series_t*)lua_touserdata(L, 2);
  23. lv_chart_clear_series(chart, series);
  24. return 0;
  25. }
  26. #endif
  27. int luat_lv_obj_align_origo(lua_State *L) {
  28. LV_DEBUG("CALL lv_obj_align_origo");
  29. lv_obj_t* obj = (lv_obj_t*)lua_touserdata(L, 1);
  30. lv_obj_t* base = (lv_obj_t*)lua_touserdata(L, 2);
  31. lv_align_t align = (lv_align_t)luaL_checkinteger(L, 3);
  32. lv_coord_t x_ofs = (lv_coord_t)luaL_checkinteger(L, 4);
  33. lv_coord_t y_ofs = (lv_coord_t)luaL_checkinteger(L, 5);
  34. lv_obj_align_mid(obj, base, align, x_ofs, y_ofs);
  35. return 0;
  36. }
  37. int luat_lv_obj_align_origo_x(lua_State *L) {
  38. LV_DEBUG("CALL lv_obj_align_origo_x");
  39. lv_obj_t* obj = (lv_obj_t*)lua_touserdata(L, 1);
  40. lv_obj_t* base = (lv_obj_t*)lua_touserdata(L, 2);
  41. lv_align_t align = (lv_align_t)luaL_checkinteger(L, 3);
  42. lv_coord_t x_ofs = (lv_coord_t)luaL_checkinteger(L, 4);
  43. lv_obj_align_mid_x(obj, base, align, x_ofs);
  44. return 0;
  45. }
  46. int luat_lv_obj_align_origo_y(lua_State *L) {
  47. LV_DEBUG("CALL lv_obj_align_origo_y");
  48. lv_obj_t* obj = (lv_obj_t*)lua_touserdata(L, 1);
  49. lv_obj_t* base = (lv_obj_t*)lua_touserdata(L, 2);
  50. lv_align_t align = (lv_align_t)luaL_checkinteger(L, 3);
  51. lv_coord_t y_ofs = (lv_coord_t)luaL_checkinteger(L, 4);
  52. lv_obj_align_mid_y(obj, base, align, y_ofs);
  53. return 0;
  54. }
  55. int luat_lv_win_add_btn(lua_State *L) {
  56. lv_obj_t * win = lua_touserdata(L, 1);
  57. const char* img_src = luaL_checkstring(L, 2);
  58. lv_obj_t *btn = lv_win_add_btn(win, img_src);
  59. lua_pushlightuserdata(L, btn);
  60. return 1;
  61. }