فهرست منبع

add:u8g2更新位图api

Dozingfiretruck 4 سال پیش
والد
کامیت
d5e0790441
2فایلهای تغییر یافته به همراه12 افزوده شده و 10 حذف شده
  1. 1 1
      components/lcd/luat_lib_lcd.c
  2. 11 9
      luat/packages/u8g2/luat_lib_u8g2.c

+ 1 - 1
components/lcd/luat_lib_lcd.c

@@ -494,7 +494,7 @@ static int l_lcd_drawDrcode(lua_State *L)
     // Create the QR code
     QRCode qrcode;
     uint8_t qrcodeData[qrcode_getBufferSize(version)];
-    qrcode_initText(&qrcode, qrcodeData, version, 0, str);
+    qrcode_initText(&qrcode, qrcodeData, version, ECC_LOW, str);
 
     for(int i = 0; i < qrcode.size; i++)
     {

+ 11 - 9
luat/packages/u8g2/luat_lib_u8g2.c

@@ -609,26 +609,28 @@ static int l_u8g2_SetBitmapMode(lua_State *L){
 
 /*
 绘制位图
-@api u8g2.DrawBitmap(x, y, h, data)
+@api u8g2.DrawXBM(x, y, h, data)
 @int X坐标
 @int y坐标
-@int 行数
+@int 位图宽
+@int 位图高
 @int 位图数据,每一位代表一个像素
 @usage
 -- 在(10,10)为左上角,绘制 10x4 的位图
-u8g2.DrawBitmapMode(10, 10, 10, string.char(0x20, 0xFF, 0xFF, 0xAF, 0xDE))
+u8g2.DrawXBM(10, 10, 10,4, string.char(0x20, 0xFF, 0xFF, 0xAF, 0xDE))
 */
-static int l_u8g2_DrawBitmap(lua_State *L){
+static int l_u8g2_DrawXBM(lua_State *L){
     if (u8g2 == NULL) return 0;
     int x = luaL_checkinteger(L, 1);
     int y = luaL_checkinteger(L, 2);
-    int h = luaL_checkinteger(L, 3);
+    int w = luaL_checkinteger(L, 3);
+    int h = luaL_checkinteger(L, 4);
     size_t len = 0;
-    const char* data = luaL_checklstring(L, 4, &len);
+    const char* data = luaL_checklstring(L, 5, &len);
     if (h < 1) return 0; // 行数必须大于0
-    if (len < h) return 0; // 起码要填满一行
+    if (w < h) return 0; // 起码要填满一行
     //if (len % h != 0) return 0; // 必须是行数的整数倍
-    u8g2_DrawBitmap(u8g2, x, y, len, h, (const uint8_t*)data);
+    u8g2_DrawXBM(u8g2, x, y, w, h, (const uint8_t*)data);
     lua_pushboolean(L, 1);
     return 1;
 }
@@ -830,7 +832,7 @@ static const rotable_Reg reg_u8g2[] =
     { "DrawGlyph",    l_u8g2_DrawGlyph,    0},
     { "DrawTriangle",    l_u8g2_DrawTriangle,    0},
     { "SetBitmapMode",    l_u8g2_SetBitmapMode,    0},
-    { "DrawBitmap",       l_u8g2_DrawBitmap, 0},
+    { "DrawXBM",       l_u8g2_DrawXBM, 0},
     { "DrawDrcode",       l_u8g2_DrawDrcode, 0},
 #ifdef LUAT_USE_GTFONT
     { "drawGtfontGb2312", l_u8g2_draw_gtfont_gb2312, 0},