• Home
Name Date Size #Lines LOC

..--

etc/12-May-2024-3632

figures/12-May-2024-

frameworks/12-May-2024-34,61823,870

interfaces/12-May-2024-29,35723,499

rosen/12-May-2024-189,132127,148

utils/12-May-2024-4,6153,223

.clang-formatD12-May-20243.1 KiB107106

.gitattributesD12-May-2024631 1615

BUILD.gnD12-May-20242 KiB7058

LICENSED12-May-20249.9 KiB177150

OAT.xmlD12-May-20244.5 KiB7317

README.mdD12-May-20245.6 KiB6350

README_zh.mdD12-May-20244.4 KiB7460

bundle.jsonD12-May-20246.4 KiB158157

default.scssD12-May-20246 KiB322281

flutter.gniD12-May-2024907 2118

graphic.cfgD12-May-20241.3 KiB4443

graphic_config.gniD12-May-20242.5 KiB8374

hisysevent.yamlD12-May-20242.8 KiB6220

README.md

1# graphic_graphic_2d
2
3- [Introduction](#Introduction)
4- [directory](#directory)
5- [Repositories Involved](#RepositoriesInvolved)
6
7## Introduction
8
9**Graphic subsystem** provides graphical interface capabilities.
10
11Its main structure is shown in the following figure:
12
13![Graphic subsystem architecture diagram](./figures/graphic_rosen_architecture.jpg)
14
15The layered description of the OpenHarmony graphics stack is as follows:
16
17• Interface layer: Provides native API capabilities for graphics, including: WebGL, Native Drawing drawing capabilities, OpenGL instruction-level drawing capabilities support, etc.
18
19• Framework layer: divided into five modules: Render Service, Drawing, Animation, Effect, Display and Memory Management.
20| Module                        | Capability Description                                                                                                                                                                                                                                                                                                                                                            |
21|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
22| Render Servicel               | Provides the rendering capabilities of the UI framework. Its core responsibility is to convert ArkUI's control description into drawing tree information, and perform optimal path rendering according to the corresponding rendering strategy. At the same time, it is responsible for the core underlying mechanism of UI sharing in multi-window smoothness and spatial state. |
23| Drawing                       | Provides a standardized interface within the graphics subsystem, and mainly completes basic functions such as 2D rendering, 3D rendering and rendering engine management.                                                                                                                                                                                                         |
24| Animation                     | Provides related capabilities of the animation engine.                                                                                                                                                                                                                                                                                                                            |
25| Effect                        | Mainly completes the ability to process image effects, rendering effects and other effects, including: multi-effect series and parallel processing, adding rendering effects, control interaction effects and other related capabilities during layout.                                                                                                                           |
26| Display and Memory Management | This module is the main module for the decoupling of the graphics stack and hardware. It mainly defines the display and memory management capabilities of OpenHarmony. The defined southbound HDI interface requires different OEMs to complete the adaptation of the OpenHarmony graphics stack. match.                                                                          |
27
28• Engine layer: includes two modules, 2D graphics library and 3D graphics engine. The 2D graphics library provides the underlying API for 2D graphics rendering, and supports the underlying capabilities of graphics rendering and text rendering. 3D graphics engine capabilities are still under construction.
29
30
31## content
32```
33foundataion/graphic/graphic_2d
34├── figures                      # Markdown referenced image catalog
35├── frameworks                   # framework code directory
36│   ├── animation_server         # animationServer code
37│   ├── bootanimation            # Boot animation directory
38│   ├── dumper                   # graphic dumper code
39│   ├── fence                    # fence code
40│   ├── vsync                    # Vsync code
41├── rosen                        # framework code directory
42│   ├── build                    # build instructions
43│   ├── doc                      # doc
44│   ├── include                  # external header file code
45│   ├── lib                      # lib
46│   ├── modules                  # graphic Each module code of the subsystem
47│   ├── samples                  # sample code
48│   ├── test                     # develop test code
49│   ├── tools                    # tool code
50├── interfaces                   # graphical interface storage directory
51│   ├── innerkits                # internal native interface storage directory
52│   └── kits                     # js/napi external interface storage directory
53└── utils                        # widget storage directory
54```
55
56
57## Repositories Involved<a name="RepositoriesInvolved"></a>
58- **graphic_graphic_2d**
59- [ace_ace_engine](https://gitee.com/openharmony/ace_ace_engine)
60- [aafwk_standard](https://gitee.com/openharmony/aafwk_standard)
61- [multimedia_player_framework](https://gitee.com/openharmony/multimedia_player_framework)
62- [multimedia_camera_framework](https://gitee.com/openharmony/multimedia_camera_framework)
63- [Windowmanager](https://gitee.com/openharmony/windowmanager)

README_zh.md

1# graphic_standard
2
3-   [简介](#简介)
4-   [目录](#目录)
5-   [相关仓](#相关仓)
6
7## 简介
8
9**Graphic子系统** 提供了图形接口能力。
10
11其主要的结构如下图所示:
12
13![Graphic子系统架构图](./figures/graphic_rosen_architecture.jpg)
14
15OpenHarmony 图形栈的分层说明如下:
16
17• 接口层:提供图形的 Native API能力,包括:WebGL、Native Drawing的绘制能力、OpenGL 指令级的绘制能力支撑等。
18
19• 框架层:分为 Render Service、Drawing、Animation、Effect、显示与内存管理五个模块。
20| 模块                     | 能力描述                                                                                       |
21|------------------------|--------------------------------------------------------------------------------------------|
22| Render Servicel (渲染服务) | 提供UI框架的绘制能力,其核心职责是将ArkUI的控件描述转换成绘制树信息,根据对应的渲染策略,进行最佳路径渲染。同时,负责多窗口流畅和空间态下UI共享的核心底层机制。       |
23| Drawing (绘制)           | 提供图形子系统内部的标准化接口,主要完成2D渲染、3D渲染和渲染引擎的管理等基本功能。                                                |
24| Animation (动画)         | 提供动画引擎的相关能力。                                                                               |
25| Effect (效果)            | 主要完成图片效果、渲染特效等效果处理的能力,包括:多效果的串联、并联处理,在布局时加入渲染特效、控件交互特效等相关能力。                               |
26| 显示与内存管理                | 此模块是图形栈与硬件解耦的主要模块,主要定义了OpenHarmony 显示与内存管理的能力,其定义的南向HDI 接口需要让不同的OEM厂商完成对OpenHarmony图形栈的适配. |
27
28• 引擎层:包括 2D 图形库和 3D 图形引擎两个模块。2D 图形库提供 2D 图形绘制底层 API,支持图形绘制与文本绘制底层能力。3D 图形引擎能力尚在构建中。
29
30
31## 目录
32```
33foundation/graphic/graphic_2d/
34├── figures                 # Markdown引用的图片目录
35├── frameworks              # 框架代码目录
36│   ├── animation_server    # AnimationServer代码
37│   ├── bootanimation       # 开机动画目录
38│   ├── dumper              # graphic dumper代码
39│   ├── fence               # fence代码
40│   ├── opengl_wrapper      # opengl_wrapper
41│   ├── surface             # Surface代码
42│   ├── surfaceimage        # surfaceimage代码
43│   ├── vsync               # Vsync代码
44│   ├── wm                  # wm代码
45│   ├── wmserver            # wmserver代码
46│   ├── wmservice           # wmservice代码
47│   ├── wmtest              # wmtest代码
48├── rosen                   # 框架代码目录
49│   ├── build               # 构建说明
50│   ├── doc                 # doc
51│   ├── include             # 对外头文件代码
52│   ├── modules             # graphic 子系统各模块代码
53│   ├── samples             # 实例代码
54│   ├── test                # 开发测试代码
55│   ├── tools               # 工具代码
56├── interfaces              # 图形接口存放目录
57│   ├── inner_api           # 内部native接口存放目录
58│   └── kits                # js/napi外部接口存放目录
59└── utils                   # 小部件存放目录
60```
61
62
63## 相关仓
64- [**graphic_graphic_2d**](https://gitee.com/abbuu_openharmony/graphic_graphic_2d)
65- [arkui_ace_engine](https://gitee.com/openharmony/arkui_ace_engine)
66- [ability_ability_runtime](https://gitee.com/openharmony/ability_ability_runtime)
67- [multimedia_player_framework](https://gitee.com/openharmony/multimedia_player_framework)
68- [multimedia_image_framework](https://gitee.com/openharmony/multimedia_image_framework)
69- [Windowmanager](https://gitee.com/openharmony/windowmanager)
70- [third_party_egl](https://gitee.com/openharmony/third_party_egl)
71- [third_party_opengles](https://gitee.com/openharmony/third_party_opengles)
72- [third_party_skia](https://gitee.com/openharmony/third_party_skia)
73- [third_party_giflib](https://gitee.com/openharmony/third_party_giflib)
74