鸿蒙NEXT开发实战往期必看文章:
HarmonyOS NEXT应用开发性能优化实践总结(持续更新......)
HarmonyOS NEXT应用开发案例实践总结合集(持续更新......)
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!
“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)
当前,小型系统图形模块以子系统的形式在 OpenHarmony 中运行。开发者只需适配实现OpenHarmony HDF 层 API 即可。由于使用场景不同,图形子系统也支持在不同平台集成运行。例如,在 Windows/Mac 上开发应用程序时,可以使用 QT Creator 进行简单的页面布局、开发和调试。此时,图形子系统已经适配到了 Windows/Mac 平台上运行。如果想要将图形子系统独立集成到现有项目中,则需要进行一些简单的适配工作,并分为以下几个主要部分:
- 引擎初始化
- 显示设备适配
- 输入设备适配
- 字体初始化
- 屏幕刷新对接
具体步骤如下,步骤最后有参考示例代码,具体可参照 OpenHarmony 小型系统图形 Simulator 适配实现。
图形引擎初始化
主要包括初始化 UI 任务、渲染模块、动画模块、默认样式等
// graphic_startup.h
GraphicStartUp::Init();
c++
显示设备适配
主要包括设置屏幕大小,对接基础图元绘制,获取图形绘制的 buffer,把图形绘制的数据刷到屏幕上显示等。
显示层适配根据硬件绘制和软件绘制不同,需继承实现不同的类。其中 gfx_engine_manager.h 中的 BaseGfxEngine 类为纯虚实现,只定义了接口,不含任何实现,适合作为自行实现的硬件绘制的父类; soft_engine.h 中的 SoftEngine 继承自 BaseGfxEngine,对 BaseGfxEngine 的接口进行了软件层实现,适合作为软件绘制的父类。
BaseGfxEngine 类中有3类接口:
第一类: