microui+fenster=小 GUI

主要观点:

  • 作者有时只想在屏幕上绘制像素,不想考虑 SDL 或 OpenGL 等,fenster 库可满足此需求,它是一个小巧的 2D 画布库,仅 400 LOC 左右,可在 WinAPI、Cocoa 和 X11 上使用,还能处理键盘和鼠标输入。
  • 有时想做更多,如添加菜单、按钮、渲染文本等,microui 库可将 GUI 元素转换为简单可重定向的绘图字节码,约 1500 LOC。
  • 原 demo 程序使用 SDL 作为字节码后端,作者曾想改用 fenster 但因不懂相关知识而未实现,后与 Kartik 争论后创建了 fenster 后端用于 microui。
  • 最终成果是一个不到 250 LOC 的文件,将 microui 与 fenster 绑定,受 SDL 渲染器演示启发,添加了一些抽象按键和鼠标按钮的函数,虽有不足但能正常工作,如绘制预期的演示窗口、处理鼠标悬停和点击、处理键盘输入等。
  • 仍需解决的问题包括确定何时从纹理渲染以及何时从提供的绘图命令颜色渲染、处理如 Shift+1 这样的修饰键、实现滚动等。可在这里查看。

关键信息:

  • 2024 年 9 月 7 日
  • fenster 库特点及适用平台
  • microui 库特点及用途
  • 创建 fenster 后端用于 microui 的过程及成果
  • 待解决的问题及查看地址

重要细节:

  • fenster 库仅 400 LOC 且可读性强
  • microui 库约 1500 LOC
  • 最终绑定文件不到 250 LOC
  • 展示了 microui+fenster 在 X11 中的演示窗口图片
阅读 19
0 条评论