1# window_manager
2
3-   [简介](#简介)
4-   [目录](#目录)
5-   [约束](#约束)
6-   [接口说明](#接口说明)
7-   [相关仓](#相关仓)
8
9## 简介
10
11**窗口子系统** 提供窗口管理和Display管理的基础能力,是系统图形界面显示所需的基础子系统
12
13其主要的结构如下图所示:
14
15![窗口子系统架构图](./figures/WindowManager.png)
16
17- **Window Manager Client**
18
19    应用进程窗口管理接口层,提供窗口对对象抽象和窗口管理接口,对接原能力和UI框架。
20
21- **Display Manager Client**
22
23    应用进程Display管理接口层,提供Display信息抽象和Display管理接口。
24
25- **Window Manager Server**
26
27    窗口管理服务,提供窗口布局、Z序控制、窗口树结构、窗口拖拽、窗口快照等能力,并提供窗口布局和焦点窗口给多模输入
28
29- **Display Manager Server**
30
31    Display管理服务,提供Display信息、屏幕截图、屏幕亮灭和亮度处理控制,并处理Display与Screen映射关系
32
33## 目录
34```
35foundation/window/window_manager/
36├── dm                              # Dislplay Manager Client实现代码
37│   ├── BUILD.gn
38│   ├── include
39│   ├── src
40│   └── test
41├── dmserver                        # Dislplay Manager Service实现代码
42│   ├── BUILD.gn
43│   ├── include
44│   ├── src
45│   └── test
46├── extension                       # Ability Component 窗口相关代码实现目录
47│   ├── extension_connection        # Ability Component 嵌入部分
48│   └── window_extension            # Ability Component 被嵌入部分
49├── interfaces                      # 对外接口存放目录
50│   ├── innerkits                   # native接口存放目录
51│   └── kits                        # js/napi接口存放目录
52├── previewer                       # IDE轻量模拟器窗口代码实现目录
53│   ├── BUILD.gn
54│   ├── include
55│   ├── mock
56│   └── src
57├── resources                       # 框架使用资源文件存放目录
58│   ├── BUILD.gn
59│   ├── config
60│   ├── dialog_ui
61│   └── media
62├── sa_profile                      # 系统服务配置文件
63│   ├── 4606.xml
64│   ├── 4607.xml
65│   └── BUILD.gn
66├── snapshot                        # 截屏命令行工具实现代码
67│   ├── BUILD.gn
68│   ├── include
69│   ├── src
70│   └── test
71├── test                            # Fuzz测试和系统测试用例存放目录
72│   ├── BUILD.gn
73│   ├── common
74│   ├── demo
75│   ├── fuzztest
76│   └── systemtest
77├── utils                           # 工具类存放目录
78│   ├── BUILD.gn
79│   ├── include
80│   ├── src
81│   └── test
82├── wm                              # Window Manager Client实现代码
83│   ├── BUILD.gn
84│   ├── include
85│   ├── src
86│   └── test
87└── wmserver                        # Window Manager Service实现代码
88    ├── BUILD.gn
89    ├── include
90    ├── src
91    └── test
92```
93
94## 约束
95- 语言版本
96    - C++11或以上
97
98## 接口说明
99
100- [Window](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md)
101- [Display](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-display.md)
102
103## 相关仓
104- [graphic_graphic_2d](https://gitee.com/openharmony/graphic_graphic_2d)
105- [arkui_ace_engine](https://gitee.com/openharmony/arkui_ace_engine)
106- [ability_ability_runtime](https://gitee.com/openharmony/ability_ability_runtime)
107- [multimodalinput_input](https://gitee.com/openharmony/multimodalinput_input)