| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- #include "luat_base.h"
- #include "lvgl.h"
- #include "luat_lvgl.h"
- // lv_obj_t* lv_canvas_create(lv_obj_t* par, lv_obj_t* copy)
- int luat_lv_canvas_create(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_create");
- lv_obj_t* par = (lv_obj_t*)lua_touserdata(L, 1);
- lv_obj_t* copy = (lv_obj_t*)lua_touserdata(L, 2);
- lv_obj_t* ret = NULL;
- ret = lv_canvas_create(par ,copy);
- if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
- return 1;
- }
- // void lv_canvas_set_px(lv_obj_t* canvas, lv_coord_t x, lv_coord_t y, lv_color_t c)
- int luat_lv_canvas_set_px(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_set_px");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 2);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 3);
- lv_color_t c = {0};
- c.full = luaL_checkinteger(L, 4);
- lv_canvas_set_px(canvas ,x ,y ,c);
- return 0;
- }
- // void lv_canvas_set_palette(lv_obj_t* canvas, uint8_t id, lv_color_t c)
- int luat_lv_canvas_set_palette(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_set_palette");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- uint8_t id = (uint8_t)luaL_checkinteger(L, 2);
- lv_color_t c = {0};
- c.full = luaL_checkinteger(L, 3);
- lv_canvas_set_palette(canvas ,id ,c);
- return 0;
- }
- // lv_color_t lv_canvas_get_px(lv_obj_t* canvas, lv_coord_t x, lv_coord_t y)
- int luat_lv_canvas_get_px(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_get_px");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 2);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 3);
- lv_color_t ret;
- ret = lv_canvas_get_px(canvas ,x ,y);
- lua_pushinteger(L, ret.full);
- return 1;
- }
- // lv_img_dsc_t* lv_canvas_get_img(lv_obj_t* canvas)
- int luat_lv_canvas_get_img(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_get_img");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_img_dsc_t* ret = NULL;
- ret = lv_canvas_get_img(canvas);
- if (ret) lua_pushlightuserdata(L, ret); else lua_pushnil(L);
- return 1;
- }
- // void lv_canvas_copy_buf(lv_obj_t* canvas, void* to_copy, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h)
- int luat_lv_canvas_copy_buf(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_copy_buf");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- void* to_copy = (void*)lua_touserdata(L, 2);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 3);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 4);
- lv_coord_t w = (lv_coord_t)luaL_checknumber(L, 5);
- lv_coord_t h = (lv_coord_t)luaL_checknumber(L, 6);
- lv_canvas_copy_buf(canvas ,to_copy ,x ,y ,w ,h);
- return 0;
- }
- // void lv_canvas_transform(lv_obj_t* canvas, lv_img_dsc_t* img, int16_t angle, uint16_t zoom, lv_coord_t offset_x, lv_coord_t offset_y, int32_t pivot_x, int32_t pivot_y, bool antialias)
- int luat_lv_canvas_transform(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_transform");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_img_dsc_t* img = (lv_img_dsc_t*)lua_touserdata(L, 2);
- int16_t angle = (int16_t)luaL_checkinteger(L, 3);
- uint16_t zoom = (uint16_t)luaL_checkinteger(L, 4);
- lv_coord_t offset_x = (lv_coord_t)luaL_checknumber(L, 5);
- lv_coord_t offset_y = (lv_coord_t)luaL_checknumber(L, 6);
- int32_t pivot_x = (int32_t)luaL_checkinteger(L, 7);
- int32_t pivot_y = (int32_t)luaL_checkinteger(L, 8);
- bool antialias = (bool)lua_toboolean(L, 9);
- lv_canvas_transform(canvas ,img ,angle ,zoom ,offset_x ,offset_y ,pivot_x ,pivot_y ,antialias);
- return 0;
- }
- // void lv_canvas_blur_hor(lv_obj_t* canvas, lv_area_t* area, uint16_t r)
- int luat_lv_canvas_blur_hor(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_blur_hor");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_area_t* area = (lv_area_t*)lua_touserdata(L, 2);
- uint16_t r = (uint16_t)luaL_checkinteger(L, 3);
- lv_canvas_blur_hor(canvas ,area ,r);
- return 0;
- }
- // void lv_canvas_blur_ver(lv_obj_t* canvas, lv_area_t* area, uint16_t r)
- int luat_lv_canvas_blur_ver(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_blur_ver");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_area_t* area = (lv_area_t*)lua_touserdata(L, 2);
- uint16_t r = (uint16_t)luaL_checkinteger(L, 3);
- lv_canvas_blur_ver(canvas ,area ,r);
- return 0;
- }
- // void lv_canvas_fill_bg(lv_obj_t* canvas, lv_color_t color, lv_opa_t opa)
- int luat_lv_canvas_fill_bg(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_fill_bg");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_color_t color = {0};
- color.full = luaL_checkinteger(L, 2);
- lv_opa_t opa = (lv_opa_t)luaL_checknumber(L, 3);
- lv_canvas_fill_bg(canvas ,color ,opa);
- return 0;
- }
- // void lv_canvas_draw_rect(lv_obj_t* canvas, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h, lv_draw_rect_dsc_t* rect_dsc)
- int luat_lv_canvas_draw_rect(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_draw_rect");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 2);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 3);
- lv_coord_t w = (lv_coord_t)luaL_checknumber(L, 4);
- lv_coord_t h = (lv_coord_t)luaL_checknumber(L, 5);
- lv_draw_rect_dsc_t* rect_dsc = (lv_draw_rect_dsc_t*)lua_touserdata(L, 6);
- lv_canvas_draw_rect(canvas ,x ,y ,w ,h ,rect_dsc);
- return 0;
- }
- // void lv_canvas_draw_text(lv_obj_t* canvas, lv_coord_t x, lv_coord_t y, lv_coord_t max_w, lv_draw_label_dsc_t* label_draw_dsc, char* txt, lv_label_align_t align)
- int luat_lv_canvas_draw_text(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_draw_text");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 2);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 3);
- lv_coord_t max_w = (lv_coord_t)luaL_checknumber(L, 4);
- lv_draw_label_dsc_t* label_draw_dsc = (lv_draw_label_dsc_t*)lua_touserdata(L, 5);
- char* txt = (char*)luaL_checkstring(L, 6);
- lv_label_align_t align = (lv_label_align_t)luaL_checkinteger(L, 7);
- lv_canvas_draw_text(canvas ,x ,y ,max_w ,label_draw_dsc ,txt ,align);
- return 0;
- }
- // void lv_canvas_draw_img(lv_obj_t* canvas, lv_coord_t x, lv_coord_t y, void* src, lv_draw_img_dsc_t* img_draw_dsc)
- int luat_lv_canvas_draw_img(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_draw_img");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 2);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 3);
- void* src = (void*)lua_touserdata(L, 4);
- lv_draw_img_dsc_t* img_draw_dsc = (lv_draw_img_dsc_t*)lua_touserdata(L, 5);
- lv_canvas_draw_img(canvas ,x ,y ,src ,img_draw_dsc);
- return 0;
- }
- // void lv_canvas_draw_arc(lv_obj_t* canvas, lv_coord_t x, lv_coord_t y, lv_coord_t r, int32_t start_angle, int32_t end_angle, lv_draw_line_dsc_t* arc_draw_dsc)
- int luat_lv_canvas_draw_arc(lua_State *L) {
- LV_DEBUG("CALL lv_canvas_draw_arc");
- lv_obj_t* canvas = (lv_obj_t*)lua_touserdata(L, 1);
- lv_coord_t x = (lv_coord_t)luaL_checknumber(L, 2);
- lv_coord_t y = (lv_coord_t)luaL_checknumber(L, 3);
- lv_coord_t r = (lv_coord_t)luaL_checknumber(L, 4);
- int32_t start_angle = (int32_t)luaL_checkinteger(L, 5);
- int32_t end_angle = (int32_t)luaL_checkinteger(L, 6);
- lv_draw_line_dsc_t* arc_draw_dsc = (lv_draw_line_dsc_t*)lua_touserdata(L, 7);
- lv_canvas_draw_arc(canvas ,x ,y ,r ,start_angle ,end_angle ,arc_draw_dsc);
- return 0;
- }
|