鸿蒙开源组件——图形UI组件
头像 Tiechui.Wang 2021-07-05 11:00:00    发布
3841 浏览 25 点赞 21 收藏

图形UI组件

简介

图形UI组件实现了一套系统级的图形引擎。

该组件为应用开发提供UIKit接口,包括了动画、布局、图形转换、事件处理,以及丰富的UI组件。

组件内部直接调用HAL接口,或者使用WMS(Window Manager Service)提供的客户端与硬件交互,以完成事件响应、图像绘制等操作。

图 1 图形子系统架构图

鸿蒙开源组件——图形UI组件-鸿蒙开发者社区


目录


/foundation/graphic/ui
├── frameworks                  # 框架代码
│   ├── animator                # 动画模块
│   ├── common                  # 公共模块
│   ├── components              # 组件
│   ├── core                    # ui主流程(渲染、任务管理等)
│   ├── default_resource
│   ├── dfx                     # 维测功能
│   ├── dock                    # 驱动适配层
│   │   └── ohos                # ohos平台适配
│   ├── draw                    # 绘制逻辑
│   ├── engines                 # 绘制引擎
│   │   ├── dfb
│   │   ├── general
│   │   ├── gpu_vglite
│   │   └── software_zlite
│   ├── events                  # 事件
│   ├── font                    # 字体
│   ├── imgdecode               # 图片管理
│   ├── layout                  # 页面布局
│   ├── themes                  # 主题管理
│   ├── window                  # 窗口管理适配层
│   └── window_manager
│       └── dfb
├── interfaces                  # 接口
│   ├── innerkits               # 模块间接口
│   │   └── xxx                 # 子模块的接口
│   └── kits                    # 对外接口
│       └── xxx                 # 子模块的接口
├── test                        # 测试代码
│   ├── framework
│   │   ├── include             # 测试框架头文件
│   │   └── src                 # 测试框架源码
│   ├── uitest                  # 显示效果测试(可执行程序在foundation/graphic/wms/test:sample_ui)
│   │   └── test_xxx            # 具体UI组件效果测试
│   └── unittest                # 单元测试
│       └── xxx                 # 具体UI组件单元测试
└── tools                       # 测试和模拟器工具(模拟器工程、资源文件)
    └── qt                      # QT工程

约束

平台约束

  • Windows平台仅支持QT和OHOS IDE。
  • 其他平台支持情况参考vendor/hisilicon/[product_name]/config.json中的graphic标签(不存在graphic标签即该产品不存在图形子系统)。

编译构建


# 通过gn编译,在out目录下对应产品的文件夹中生成libui.so
hb build lite_ui

# 编译qt库可直接参考qt模拟器工程:graphic/ui/tools/qt/simulator/simulator.pro

说明

组件说明

组件分为基础组件和容器组件

  • 基础组件:仅实现组件自身单一功能,比如按钮、文字、图片等;
  • 容器组件:可将其他组件作为自己的子组件,通过组合实现复杂功能。

图 2 图形组件一览

鸿蒙开源组件——图形UI组件-鸿蒙开发者社区


使用说明

foundation/graphic/ui/test/uitest中提供了图形所有组件和功能接口的使用范例。

  • Windows环境可运行QT工程调试 工程文件路径: graphic/ui/tools/qt/simulator/simulator.pro
  • 其他调试环境可以编译运行foundation/graphic/wms/test:sample_ui hb build lite_wms -b debug 编译成功后得到可执行程序out/[product_name]/dev_tools/bin/sample_ui,在实际环境上运行即可观察对应组件显示效果。

相关仓

图形子系统

graphic_wms

graphic_surface

graphic_ui

graphic_utils


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
其它
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-2
京公网安备:11010502051901号
ICP证:京B2-20230255