# 图形子系统
- [简介](#section5243712115918)
- [目录](#section99241319175914)
- [约束](#section122137242350)
- [说明](#section112385733715)
- [使用说明](#section1072312133813)
- [相关仓](#section1371113476307)
## 简介
图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS的应用框架,满足硬件资源较小的物联网设备的OpenHarmony系统应用开发。
**图 1** 图形子系统架构图
![](figures/图形子系统架构图.png "图形子系统架构图")
各模块介绍:
- View:应用组件,包括UIView、UIViewGoup、UIButton、UILabel、UILabelButton、UIList、UISlider等。
- Animator:动画模块,开发者可以自定义动画。
- Layout:布局控件,包括Flexlayout、GridLayout、ListLayout等。
- Transform:图形变换模块,包括旋转、平移、缩放等。
- Event:事件模块,包括click、press、drag、long press等基础事件。
- Rendering engine:渲染绘制模块。
- 2D graphics library:2D绘制模块,包括直线、矩形、圆、弧、图片、文字等绘制。包括软件绘制和硬件加速能力对接。
- Multi-language:多语言模块,用于处理不用不同语言文字的换行、整形等。
- Image library:图片处理模块,用于解析和操作不同类型和格式的图片,例如png、jpeg、ARGB8888、ARGB565等
- WindowManager:窗口管理模块,包括窗口创建、显示隐藏、合成等处理。
- InputManager:输入事件管理模块。
## 目录
```
/foundation/graphic
├── surface # 共享内存
├── ui # UI模块,包括UI控件、动画、字体等功能
├── utils # 图形基础库和硬件适配层
└── wms # 窗口管理和输入事件管理
```
## 约束
- 图形组件不支持多线程并发操作,建议相关操作都在ui线程中执行;
- utils/interfaces/innerkits/graphic\_config.h文件列举了图形部分可配置功能的宏开关,需要在编译前配置,配置时需要注意部分宏开关是分平台配置的。
## 说明
### 使用说明
参考各仓README以及test目录
## 相关仓
/hmf/graphic/surface
/hmf/graphic/wms
/hmf/graphic/utils
/hmf/graphic/ui