OpenHarmony(11) —— GUI底层
最近在想GUI的事情,
网上搜索了下
windows:
win32 MFC .NET C#
记得第一次的记忆还是VC++6.0 然后MFC
搜了之后才发现,directui,看了下概念,原来名字就已经说明了 direct ui 直接绘制控件。
(听别人说的)从windows上说,每个控件都是一个basewindow,都有一个HANDLE
(谁翻译的“句柄”?handle : 手柄、手把。“句柄”是啥?一句话的手柄?不应该是“把柄”吗?你有什么把柄在别人手里,让别人来威胁你交出什么东西)
directui,申请一个window当画布,其他控件在这个画布上直接画出来。
(不就是LinuxFB,提供一块内存当显存,当画布,直接在上面画)
Linux:
GTK+、GTKMM
看了一眼的GUI库:
-
wxwidgets
https://wiki.wxwidgets.org/Supported_Platforms
wxMSW
wxGTK
wxX11
wxDFB
看代码没看懂是怎么封装的
-
FLTK
比较简单,申明函数,win32一个实现,xlib一个实现,编译选择
-
WIN32
-
__CYGWIN__
-
__APPLE__
-
__APPLE_QUARTZ__
-
USE_X11
-
USE_XFT
使用XFT时:精简的一个button demo
-
AWTK / LVGL
LVGL :MCU,LinuxFB
AWTK : MCU,LinuxFB,
http://awstudio.zlg.cn/pro/docs/awtk_docs/HowTo/sdl_opengl_notes.html
AWTK 是一个嵌入式 GUI,为了开发方便,需要提供 PC 运行环境。我选择了 SDL2+OpenGL+nanovg来实现底层的渲染,让 AWTK可以运行在各个平台上。GLFW+OpenGL 也是一个不错的选择,但是 GLFW 没有 Android 和 iOS 的移植,而且没有提供原生输入法的支持。AWTK虽然最初是为嵌入式系统而生,但也有一个小目标:可以用于开发嵌入式系统,也可以开发 PC 软件和移动 APP,所以最后选择了 SDL2+OpenGL+nanovg。
-
IMGUI
和directui一同属于概念性的,
(其实直接绘制型的都可以叫directui,如ucgui等)
设计是用于游戏所需界面
即时渲染GUI,说是每一次都得重新绘制,不能实现脏矩更新
-
SDL2
IMGUI?
设计是用于媒体所需界面
然后想到OHOS,但是网上相关信息很少,99.99%都是APP开发者,没看到有系统开发者。
还看到还是那一套“鸿蒙就是ANDROID套壳”的瞎话
能找到的还是OHOS2.0
浅析鸿蒙 JavaScript GUI 技术栈
https://juejin.cn/post/6872154561574862855
从上次放弃的地方继续开始
OHOS APP界面从创建到渲染显示
轻量系统:如何实现的?
小型系统:如何实现的?
标准系统:如何实现的?
(继续了解继续补)