# windowmanager **Repository Path**: leafly2021/windowmanager ## Basic Information - **Project Name**: windowmanager - **Description**: 新增标准部件 窗口管理 的能力 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1822 - **Created**: 2022-01-11 - **Last Updated**: 2023-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WidnowManager - [Introduction](#section1333751883213) - [Directory Structure](#section1882912343) - [Constraints](#section68982123611) - [Compilation and Building](#section671864110372) - [Available APIs](#section197399520386) - [WindowManager](#section5851104093816) - [Window](#section3483122273912) - [SubWindow](#section96481249183913) - [Surface](#section12366161544010) - [SurfaceBuffer](#section12001640184711) - [VsyncHelper](#section1392116294211) - [Usage](#section18359134910422) - [Transferring a Producer Surface](#section193464304411) - [Creating a Producer Surface](#section1276823075112) - [Producing a SurfaceBuffer](#section614545716513) - [Consuming a SurfaceBuffer](#section315285412535) - [Adding Custom Data to a SurfaceBuffer](#section612412125616) - [Registering a Vsync Callback Listener](#section1148115214576) - [\#EN-US\_TOPIC\_0000001105482134/section1939493174420](#section1939493174420) - [Repositories Involved](#section6488145313) ## Introduction The Graphics subsystem provides graphics and window management capabilities, which can be invoked by using Java or JS APIs. It can be used for UI development for all standard-system devices. The following figure shows the architecture of the Graphics subsystem.  - Surface Provides APIs for managing the graphics buffer and the efficient and convenient rotation buffer. - Vsync Provides APIs for managing registration and response of all vertical sync signals. - WindowManager Provides APIs for creating and managing windows. - WaylandProtocols Provides the communication protocols between the window manager and synthesizer. - Compositor Implements synthesis of layers. - Renderer Functions as the back-end rendering module of the synthesizer. - Wayland protocols Provides Wayland inter-process communication protocols. - Shell Provides multi-window capabilities. - Input Manger Functions as the multimodal input module that receives input events. ## Directory Structure ``` foundation/graphic/standard/ ├── frameworks # Framework code │ ├── bootanimation # Boot Animation code │ ├── surface # Surface code │ ├── vsync # Vsync code │ └── wm # WindowManager code ├── interfaces # External APIs │ ├── innerkits # Native APIs │ └── kits # JS APIs and NAPIs └── utils # Utilities ``` ## Constraints - Language version: C++ 11 or later ## Compilation and Building The dependent APIs include the following: - graphic\_standard:libwms\_client - graphic\_standard:libsurface - graphic\_standard:libvsync\_client ## Available APIs ### WindowManager
Registers the callback for AxisDiscrete events of the mouse. |
|
Registers the callback for RepeatInfo events of the keyboard. |
Obtains the BufferHandle pointer to the SurfaceBuffer object. |
|
Constructs a VsyncHelper object using an EventHandler object. |
|