diff --git a/arkui/window_manager/oh_window.h b/arkui/window_manager/oh_window.h index c747b7b2b7b315a4bc747112fb28c1887f7f3c5c..26e5be8e2af5712f104cae48e24bfeff728727ea 100644 --- a/arkui/window_manager/oh_window.h +++ b/arkui/window_manager/oh_window.h @@ -247,6 +247,31 @@ int32_t OH_WindowManager_GetWindowProperties( */ int32_t OH_WindowManager_Snapshot(int32_t windowId, OH_PixelmapNative* pixelMap); +/** + * @brief Get Layout info of all windows on the selected display. + * + * @param display IdIndicate the id of display. + * @param windowLayoutInfo Pointer to the layout information of the visible windows on the specified screen. + * @param windowLayoutInfoSize Pointer to the size of the array of layout information of the visible windows on the + specified screen. + * @return Returns the result code. + * {@link OK} the function call is successful, return Window layout info list. + * {@link WINDOW_MANAGER_ERRORCODE_INVALID_PARAM} parameter error. + * {@link WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED} capability not supported. + * {@link WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL} the window manager service works abnormally. + * @since 17 + */ +int32_t OH_WindowManager_GetAllWindowLayoutInfoList(int64_t displayId, + WindowManager_Rect** windowLayoutInfoList, size_t* windowLayoutInfoSize); + +/** + * @brief Release the memory of window layout info list. + * + * @param windowLayoutInfo Pointer to the layout information of the visible windows on the specified screen. + * @since 17 + */ +void OH_WindowManager_ReleaseAllWindowLayoutInfoList(WindowManager_Rect* windowLayoutInfoList); + #ifdef __cplusplus } #endif