win_gtfont.lua 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --[[
  2. @module win_gtfont
  3. @summary GTFont矢量字体演示模块
  4. @version 1.0.0
  5. @date 2025.11.28
  6. @author 江访
  7. @usage
  8. 本文件为GTFont矢量字体演示模块,核心业务逻辑为:
  9. 1、初始化GTFont矢量字体后端,使用外置SPI字库配件板;
  10. 2、创建窗口容器并设置白色背景;
  11. 3、添加多个标签组件展示不同字体样式;
  12. 4、演示中英混排显示效果;
  13. 5、启动UI渲染循环持续刷新显示;
  14. 本文件没有对外接口;
  15. ]]
  16. local function ui_main()
  17. -- 启用GTFont矢量字体方式进行硬件初始化
  18. hw_font_drv.init({
  19. type = "gtfont",
  20. spi = { id = 0, cs = 8 },
  21. size = 32
  22. })
  23. -- 设置主题
  24. ui.sw_init({ theme = "light" })
  25. -- 创建窗口容器
  26. local win = ui.window({ background_color = ui.COLOR_WHITE })
  27. -- 创建多个标签展示不同字体样式
  28. local text1 = ui.label({ x = 10, y = 20, text = "ABCDEFG", color = ui.COLOR_BLACK })
  29. local text2 = ui.label({ x = 10, y = 100, text = "abcdefg", color = ui.COLOR_RED })
  30. local text3 = ui.label({ x = 10, y = 180, text = "1234567", color = ui.COLOR_GREEN })
  31. local text4 = ui.label({ x = 10, y = 260, text = "!@#$%^&*", color = ui.COLOR_BLUE })
  32. local text5 = ui.label({ x = 10, y = 340, text = "Hello GTFont", color = ui.COLOR_ORANGE })
  33. local text6 = ui.label({ x = 10, y = 420, text = "中英混排 ABC 合宙", color = ui.COLOR_PINK })
  34. -- 添加组件到窗口
  35. win:add(text1)
  36. win:add(text2)
  37. win:add(text3)
  38. win:add(text4)
  39. win:add(text5)
  40. win:add(text6)
  41. -- 注册窗口到UI系统
  42. ui.add(win)
  43. end
  44. sys.taskInit(ui_main)