> 文档中心 > OpenHarmony(11) —— GUI底层

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库:

  1. wxwidgets

https://wiki.wxwidgets.org/Supported_Platforms

wxMSW

wxGTK

wxX11

wxDFB

看代码没看懂是怎么封装的

  1. FLTK

OpenHarmony(11) —— GUI底层

比较简单,申明函数,win32一个实现,xlib一个实现,编译选择

  • WIN32

  • __CYGWIN__

  • __APPLE__

  • __APPLE_QUARTZ__

  • USE_X11

  • USE_XFT

使用XFT时:精简的一个button demo

OpenHarmony(11) —— GUI底层

  1. 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。

  1. IMGUI

和directui一同属于概念性的,

(其实直接绘制型的都可以叫directui,如ucgui等)

设计是用于游戏所需界面

即时渲染GUI,说是每一次都得重新绘制,不能实现脏矩更新

  1. SDL2

IMGUI?

设计是用于媒体所需界面

然后想到OHOS,但是网上相关信息很少,99.99%都是APP开发者,没看到有系统开发者。

还看到还是那一套“鸿蒙就是ANDROID套壳”的瞎话

能找到的还是OHOS2.0

浅析鸿蒙 JavaScript GUI 技术栈

https://juejin.cn/post/6872154561574862855

从上次放弃的地方继续开始

OHOS APP界面从创建到渲染显示

轻量系统:如何实现的?

小型系统:如何实现的?

标准系统:如何实现的?

(继续了解继续补)

神片云