Browse Source

add: 关联新的字体接口

Wendal Chen 4 years ago
parent
commit
ca67d110f2
3 changed files with 65 additions and 51 deletions
  1. 3 0
      app/port/luat_base_air101.c
  2. 58 50
      app/port/luat_conf_bsp.h
  3. 4 1
      xmake.lua

+ 3 - 0
app/port/luat_base_air101.c

@@ -157,6 +157,9 @@ static const luaL_Reg loadedlibs[] = {
 #endif
 #endif
 #ifdef LUAT_USE_COREMARK
 #ifdef LUAT_USE_COREMARK
   {"coremark", luaopen_coremark},
   {"coremark", luaopen_coremark},
+#endif
+#ifdef LUAT_USE_FONTS
+  {"fonts", luaopen_fonts},
 #endif
 #endif
   {NULL, NULL}
   {NULL, NULL}
 };
 };

+ 58 - 50
app/port/luat_conf_bsp.h

@@ -55,8 +55,8 @@
 
 
 //----------------------------
 //----------------------------
 // 高通字体, 需配合芯片使用
 // 高通字体, 需配合芯片使用
-// #define LUAT_USE_GTFONT 1
-// #define LUAT_USE_GTFONT_UTF8
+#define LUAT_USE_GTFONT 1
+#define LUAT_USE_GTFONT_UTF8
 
 
 //----------------------------
 //----------------------------
 // 高级功能, 其中shell是推荐启用, 除非你打算uart0也读数据
 // 高级功能, 其中shell是推荐启用, 除非你打算uart0也读数据
@@ -73,7 +73,7 @@
 //---------------------
 //---------------------
 // UI
 // UI
 // LCD  是彩屏, 若使用LVGL就必须启用LCD
 // LCD  是彩屏, 若使用LVGL就必须启用LCD
-// #define LUAT_USE_LCD
+#define LUAT_USE_LCD
 // EINK 是墨水屏
 // EINK 是墨水屏
 // #define LUAT_USE_EINK
 // #define LUAT_USE_EINK
 
 
@@ -86,6 +86,14 @@
 // #define U8G2_USE_ST7567
 // #define U8G2_USE_ST7567
 
 
 /**************FONT*****************/
 /**************FONT*****************/
+// Luat Fonts
+// #define LUAT_USE_FONTS
+// #define LUAT_FONTS_BASE_8P
+// #define LUAT_FONTS_BASE_12P
+// #define LUAT_FONTS_BASE_16P
+// #define LUAT_FONTS_BASE_20P
+// #define LUAT_FONTS_BASE_24P
+// #define LUAT_FONTS_BASE_28P
 /**********U8G2&LCD FONT*************/
 /**********U8G2&LCD FONT*************/
 // #define USE_U8G2_UNIFONT_SYMBOLS
 // #define USE_U8G2_UNIFONT_SYMBOLS
 // #define USE_U8G2_OPPOSANSM12_CHINESE
 // #define USE_U8G2_OPPOSANSM12_CHINESE
@@ -112,52 +120,52 @@
 //---------------------
 //---------------------
 // LVGL
 // LVGL
 // 主推的UI库, 功能强大但API繁琐
 // 主推的UI库, 功能强大但API繁琐
-// #define LUAT_USE_LVGL
-// #define LV_DISP_DEF_REFR_PERIOD 30
-// #define LUAT_LV_DEBUG 0
-
-// #define LV_MEM_CUSTOM 1
-
-// #define LUAT_USE_LVGL_INDEV 1 // 输入设备
-
-// #define LUAT_USE_LVGL_ARC   //圆弧 无依赖
-// #define LUAT_USE_LVGL_BAR   //进度条 无依赖
-// #define LUAT_USE_LVGL_BTN   //按钮 依赖容器CONT
-// #define LUAT_USE_LVGL_BTNMATRIX   //按钮矩阵 无依赖
-// #define LUAT_USE_LVGL_CALENDAR   //日历 无依赖
-// #define LUAT_USE_LVGL_CANVAS   //画布 依赖图片IMG
-// #define LUAT_USE_LVGL_CHECKBOX   //复选框 依赖按钮BTN 标签LABEL
-// #define LUAT_USE_LVGL_CHART   //图表 无依赖
-// #define LUAT_USE_LVGL_CONT   //容器 无依赖
-// #define LUAT_USE_LVGL_CPICKER   //颜色选择器 无依赖
-// #define LUAT_USE_LVGL_DROPDOWN   //下拉列表 依赖页面PAGE 标签LABEL
-// #define LUAT_USE_LVGL_GAUGE   //仪表 依赖进度条BAR 仪表(弧形刻度)LINEMETER
-// #define LUAT_USE_LVGL_IMG   //图片 依赖标签LABEL
-// #define LUAT_USE_LVGL_IMGBTN   //图片按钮 依赖按钮BTN
-// #define LUAT_USE_LVGL_KEYBOARD   //键盘 依赖图片按钮IMGBTN
-// #define LUAT_USE_LVGL_LABEL   //标签 无依赖
-// #define LUAT_USE_LVGL_LED   //LED 无依赖
-// #define LUAT_USE_LVGL_LINE   //线 无依赖
-// #define LUAT_USE_LVGL_LIST   //列表 依赖页面PAGE 按钮BTN 标签LABEL
-// #define LUAT_USE_LVGL_LINEMETER   //仪表(弧形刻度) 无依赖
-// #define LUAT_USE_LVGL_OBJMASK   //对象蒙版 无依赖
-// #define LUAT_USE_LVGL_MSGBOX   //消息框 依赖图片按钮IMGBTN 标签LABEL
-// #define LUAT_USE_LVGL_PAGE   //页面 依赖容器CONT
-// #define LUAT_USE_LVGL_SPINNER   //旋转器 依赖圆弧ARC 动画ANIM
-// #define LUAT_USE_LVGL_ROLLER   //滚筒 无依赖
-// #define LUAT_USE_LVGL_SLIDER   //滑杆 依赖进度条BAR
-// #define LUAT_USE_LVGL_SPINBOX   //数字调整框 无依赖
-// #define LUAT_USE_LVGL_SWITCH   //开关 依赖滑杆SLIDER
-// #define LUAT_USE_LVGL_TEXTAREA   //文本框 依赖标签LABEL 页面PAGE
-// #define LUAT_USE_LVGL_TABLE   //表格 依赖标签LABEL
-// #define LUAT_USE_LVGL_TABVIEW   //页签 依赖页面PAGE 图片按钮IMGBTN
-// #define LUAT_USE_LVGL_TILEVIEW   //平铺视图 依赖页面PAGE
-// #define LUAT_USE_LVGL_WIN   //窗口 依赖容器CONT 按钮BTN 标签LABEL 图片IMG 页面PAGE
-
-// #define LV_HOR_RES_MAX          (160)
-// #define LV_VER_RES_MAX          (80)
-// #define LV_COLOR_DEPTH          16
-
-// #define LV_COLOR_16_SWAP   1
+#define LUAT_USE_LVGL
+#define LV_DISP_DEF_REFR_PERIOD 30
+#define LUAT_LV_DEBUG 0
+
+#define LV_MEM_CUSTOM 1
+
+#define LUAT_USE_LVGL_INDEV 1 // 输入设备
+
+#define LUAT_USE_LVGL_ARC   //圆弧 无依赖
+#define LUAT_USE_LVGL_BAR   //进度条 无依赖
+#define LUAT_USE_LVGL_BTN   //按钮 依赖容器CONT
+#define LUAT_USE_LVGL_BTNMATRIX   //按钮矩阵 无依赖
+#define LUAT_USE_LVGL_CALENDAR   //日历 无依赖
+#define LUAT_USE_LVGL_CANVAS   //画布 依赖图片IMG
+#define LUAT_USE_LVGL_CHECKBOX   //复选框 依赖按钮BTN 标签LABEL
+#define LUAT_USE_LVGL_CHART   //图表 无依赖
+#define LUAT_USE_LVGL_CONT   //容器 无依赖
+#define LUAT_USE_LVGL_CPICKER   //颜色选择器 无依赖
+#define LUAT_USE_LVGL_DROPDOWN   //下拉列表 依赖页面PAGE 标签LABEL
+#define LUAT_USE_LVGL_GAUGE   //仪表 依赖进度条BAR 仪表(弧形刻度)LINEMETER
+#define LUAT_USE_LVGL_IMG   //图片 依赖标签LABEL
+#define LUAT_USE_LVGL_IMGBTN   //图片按钮 依赖按钮BTN
+#define LUAT_USE_LVGL_KEYBOARD   //键盘 依赖图片按钮IMGBTN
+#define LUAT_USE_LVGL_LABEL   //标签 无依赖
+#define LUAT_USE_LVGL_LED   //LED 无依赖
+#define LUAT_USE_LVGL_LINE   //线 无依赖
+#define LUAT_USE_LVGL_LIST   //列表 依赖页面PAGE 按钮BTN 标签LABEL
+#define LUAT_USE_LVGL_LINEMETER   //仪表(弧形刻度) 无依赖
+#define LUAT_USE_LVGL_OBJMASK   //对象蒙版 无依赖
+#define LUAT_USE_LVGL_MSGBOX   //消息框 依赖图片按钮IMGBTN 标签LABEL
+#define LUAT_USE_LVGL_PAGE   //页面 依赖容器CONT
+#define LUAT_USE_LVGL_SPINNER   //旋转器 依赖圆弧ARC 动画ANIM
+#define LUAT_USE_LVGL_ROLLER   //滚筒 无依赖
+#define LUAT_USE_LVGL_SLIDER   //滑杆 依赖进度条BAR
+#define LUAT_USE_LVGL_SPINBOX   //数字调整框 无依赖
+#define LUAT_USE_LVGL_SWITCH   //开关 依赖滑杆SLIDER
+#define LUAT_USE_LVGL_TEXTAREA   //文本框 依赖标签LABEL 页面PAGE
+#define LUAT_USE_LVGL_TABLE   //表格 依赖标签LABEL
+#define LUAT_USE_LVGL_TABVIEW   //页签 依赖页面PAGE 图片按钮IMGBTN
+#define LUAT_USE_LVGL_TILEVIEW   //平铺视图 依赖页面PAGE
+#define LUAT_USE_LVGL_WIN   //窗口 依赖容器CONT 按钮BTN 标签LABEL 图片IMG 页面PAGE
+
+#define LV_HOR_RES_MAX          (160)
+#define LV_VER_RES_MAX          (80)
+#define LV_COLOR_DEPTH          16
+
+#define LV_COLOR_16_SWAP   1
 
 
 #endif
 #endif

+ 4 - 1
xmake.lua

@@ -209,9 +209,12 @@ target("air10x")
     add_includedirs(luatos.."components/cjson")
     add_includedirs(luatos.."components/cjson")
 
 
     -- gtfont
     -- gtfont
-    add_includedirs(luatos.."components/gtfont",{public = true})
+    add_includedirs(luatos.."components/gtfont")
     add_files(luatos.."components/gtfont/*.c")
     add_files(luatos.."components/gtfont/*.c")
 
 
+    add_files(luatos.."components/luatfonts/*.c")
+    add_includedirs(luatos.."components/luatfonts")
+
     -- ble
     -- ble
     add_includedirs("src/app/bleapp", "src/bt/blehost/nimble/include", "src/bt/blehost/nimble/host/include", "include/bt")
     add_includedirs("src/app/bleapp", "src/bt/blehost/nimble/include", "src/bt/blehost/nimble/host/include", "include/bt")
     add_includedirs("src/bt/blehost/nimble/transport/uart/include", "src/bt/blehost/porting/xt804/include")
     add_includedirs("src/bt/blehost/nimble/transport/uart/include", "src/bt/blehost/porting/xt804/include")