luat_lib_lvgl_img.c 675 B

123456789101112131415161718192021222324
  1. #include "luat_base.h"
  2. #include "luat_msgbus.h"
  3. #include "luat_lvgl.h"
  4. #include "lvgl.h"
  5. #include "luat_zbuff.h"
  6. // void lv_img_set_src(lv_obj_t* img, void* src_img)
  7. int luat_lv_img_set_src(lua_State *L) {
  8. LV_DEBUG("CALL lv_img_set_src");
  9. lv_obj_t* img = (lv_obj_t*)lua_touserdata(L, 1);
  10. void* src_img = NULL;
  11. if (lua_isstring(L, 2))
  12. src_img = (void*)luaL_checkstring(L, 2);
  13. else if (lua_isuserdata(L, 2)) {
  14. luat_zbuff_t* buff = (luat_zbuff_t *)luaL_checkudata(L, 1, "ZBUFF*");
  15. src_img = buff->addr;
  16. }
  17. else {
  18. LLOGD("Bad src_img for img");
  19. return 0;
  20. }
  21. lv_img_set_src(img ,src_img);
  22. return 0;
  23. }