diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index 69c933c99ff13602da37c580d1b653766600b49c..88b3e056b90134da427413844224809fc0a1ff0f 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -496,6 +496,29 @@ int32_t OH_NativeWindow_NativeWindowSetMetaDataSet(OHNativeWindow *window, uint3 */ int32_t OH_NativeWindow_NativeWindowSetTunnelHandle(OHNativeWindow *window, const OHExtDataHandle *handle); +/** + * @brief Get surfaceId from native window. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow + * @param window Indicates the pointer to an OHNativeWindow instance. + * @param surfaceId Indicates the pointer to a surfaceId. + * @return Returns an error code, 0 is success, otherwise, failed. + * @since 12 + * @version 1.0 + */ +int32_t OH_NativeWindow_GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId); + +/** + * @brief Creates an OHNativeWindow instance.\n + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow + * @param surfaceId Indicates the surfaceId to a surface. + * @param window indicates the pointer to an OHNativeWindow instance. + * @return Returns an error code, 0 is Success, otherwise, failed. + * @since 12 + * @version 1.0 + */ +int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNativeWindow **window); #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_window/libnative_window.ndk.json b/graphic/graphic_2d/native_window/libnative_window.ndk.json index 12184c91d51dba75a7b1187f51e38fc13a7bcc98..58725d5505cb6ec1c371fb4fc5eb74298b254884 100644 --- a/graphic/graphic_2d/native_window/libnative_window.ndk.json +++ b/graphic/graphic_2d/native_window/libnative_window.ndk.json @@ -16,5 +16,7 @@ { "name": "OH_NativeWindow_NativeWindowSetScalingMode" }, { "name": "OH_NativeWindow_NativeWindowSetMetaData" }, { "name": "OH_NativeWindow_NativeWindowSetMetaDataSet" }, - { "name": "OH_NativeWindow_NativeWindowSetTunnelHandle" } + { "name": "OH_NativeWindow_NativeWindowSetTunnelHandle" }, + { "name": "OH_NativeWindow_GetSurfaceId"}, + { "name": "OH_NativeWindow_CreateNativeWindowFromSurfaceId"} ] \ No newline at end of file