diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index ece38e46c50f72c5436110289706fe315df3c2c4..f5121b2f0b9c863fec5f0c6937bdeb29b235c644 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -39,6 +39,7 @@ #include #include "buffer_handle.h" +#include "ipc_kit.h" #ifdef __cplusplus extern "C" { @@ -581,6 +582,30 @@ int32_t OH_NativeWindow_GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId * @version 1.0 */ int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNativeWindow **window); + +/** + * @brief Write an OHNativeWindow to an OHIPCParcel. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow + * @param window Indicates the pointer to an OHNativeWindow instance. + * @param parcel Indicates the pointer to an OHIPCParcel instance. + * @return Returns an error code, 0 is success, otherwise, failed. + * @since 12 + * @version 1.0 + */ +int32_t OH_NativeWindow_WriteToParcel(OHNativeWindow *window, OHIPCParcel *parcel); + +/** + * @brief Read an OHNativeWindow from an OHIPCParcel. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow + * @param window Indicates the pointer to an OHIPCParcel instance. + * @return Returns the pointer to an OHNativeWindow instance. + * @since 12 + * @version 1.0 + */ +OHNativeWindow *OH_NativeWindow_ReadFromParcel(OHIPCParcel *parcel); + #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 8f3717f9b8b714829c2307a09a46bf3496efbbb6..31617129ad3ce639bc7d97930135098b7394f9c4 100644 --- a/graphic/graphic_2d/native_window/libnative_window.ndk.json +++ b/graphic/graphic_2d/native_window/libnative_window.ndk.json @@ -20,5 +20,7 @@ { "name": "OH_NativeWindow_GetSurfaceId"}, { "name": "OH_NativeWindow_CreateNativeWindowFromSurfaceId"}, { "name": "OH_NativeWindow_NativeWindowAttachBuffer" }, - { "name": "OH_NativeWindow_NativeWindowDetachBuffer" } + { "name": "OH_NativeWindow_NativeWindowDetachBuffer" }, + { "name": "OH_NativeWindow_WriteToParcel" }, + { "name": "OH_NativeWindow_ReadFromParcel" } ] \ No newline at end of file