• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Window Manager
2
3## Introduction
4
5The Window Manager subsystem provides basic capabilities of window and display management. It is the basis for UI display. The following figure shows the architecture of the Window Manager subsystem.
6
7**Figure 1** Architecture of the Window Manager subsystem
8
9![WindowManager-subsystem-architecture](./figures/WindowManager.png)
10
11Components of the Window Manager subsystem are described as follows:
12
13- **Window Manager Client**
14
15    Provides window object abstraction and window management interfaces, and connects to the ability and UI framework.
16
17- **Display Manager Client**
18
19    Provides display information abstraction and display management interfaces.
20
21- **Window Manager Server**
22
23    Provides capabilities such as window layout, Z-order control, window tree structure, window dragging, and window snapshot, and offers the window layout and focus window for multimodal input.
24
25- **Display Manager Server**
26
27    Provides display information, screenshot, screen on/off, and brightness processing control, and processes the mapping between the display and screen.
28
29## Directory Structure
30
31```text
32foundation/window/window_manager/
33├── dm                      # Implementation code of Display Manager Client
34├── dmserver                # Implementation code of Display Manager Server
35├── interfaces              # External APIs
36│   ├── innerkits           # Native APIs
37│   └── kits                # JS APIs and native APIs
38├── resources               # Resource files used by the framework
39├── sa_profile              # System service configuration files
40├── snapshot                # Implementation code of the screenshot command line tool
41├── utils                   # Utilities
42├── wm                      # Implementation code of Window Manager Client
43├── wmserver                # Implementation code of Window Manager Server
44```
45
46## Constraints
47
48The Programming language version must be C++ 11 or later.
49
50## Available APIs
51
52- [Window](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-window.md)
53- [Display](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-display.md)
54
55## Repositories Involved
56
57- [graphic_graphic_2d](https://gitee.com/openharmony/graphic_graphic_2d)
58- [arkui_ace_engine](https://gitee.com/openharmony/arkui_ace_engine)
59- [ability_ability_runtime](https://gitee.com/openharmony/ability_ability_runtime)
60- [multimodalinput_input](https://gitee.com/openharmony/multimodalinput_input)
61