diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index db6607b5f7f0719036c85dcc6a83c5eb309fa3cd..aff2962c6256f734c0bd496e0b82bb7720b5f25d 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 "IPCKit/ipc_cparcel.h" #ifdef __cplusplus extern "C" { @@ -649,6 +650,29 @@ int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNa */ int32_t OH_NativeWindow_NativeWindowSetScalingModeV2(OHNativeWindow *window, OHScalingModeV2 scalingMode); +/** + * @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); + /** * @brief Set native window buffer hold. * diff --git a/graphic/graphic_2d/native_window/libnative_window.ndk.json b/graphic/graphic_2d/native_window/libnative_window.ndk.json index 668400ec62fe74cf45b78661410af4a7f0da5d9c..f6601c4d7f42d44b01b76371459a4a3026557613 100644 --- a/graphic/graphic_2d/native_window/libnative_window.ndk.json +++ b/graphic/graphic_2d/native_window/libnative_window.ndk.json @@ -25,5 +25,7 @@ { "name": "OH_NativeWindow_CreateNativeWindowFromSurfaceId"}, { "name": "OH_NativeWindow_NativeWindowAttachBuffer" }, { "name": "OH_NativeWindow_NativeWindowDetachBuffer" }, + { "name": "OH_NativeWindow_WriteToParcel" }, + { "name": "OH_NativeWindow_ReadFromParcel" }, { "name": "OH_NativeWindow_SetBufferHold" } ] \ No newline at end of file