OH_NativeImage

Overview

The OH_NativeImage module provides the capabilities of NativeImage. Functioning as a data consumer, it is used to associate data with the OpenGL texture. It is used in the OpenGL environment.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Since

9

Summary

Files

Name Description
native_image.h Defines the functions for obtaining and using NativeImage.
File to include: <native_image/native_image.h>
Library: libnative_image.so

Types

Name Description
OH_NativeImage Provides the declaration of an OH_NativeImage struct.
OHNativeWindow Provides the capability of accessing the NativeWindow.

Functions

Name Description
OH_NativeImage_Create (uint32_t textureId, uint32_t textureTarget) Creates an OH_NativeImage instance to be associated with the OpenGL ES texture ID and target.
OH_NativeImage_AcquireNativeWindow (OH_NativeImage *image) Obtains an OHNativeWindow instance associated with an OH_NativeImage instance. You need to call OH_NativeWindow_DestroyNativeWindow to release the OHNativeWindow instance when it is no longer required.
OH_NativeImage_AttachContext (OH_NativeImage *image, uint32_t textureId) Attaches an OH_NativeImage instance to the current OpenGL ES context.
The OpenGL ES texture will be bound to an GL_TEXTURE_EXTERNAL_OES instance and updated through the OH_NativeImage instance.
OH_NativeImage_DetachContext (OH_NativeImage *image) Detaches an OH_NativeImage instance from the current OpenGL ES context.
OH_NativeImage_UpdateSurfaceImage (OH_NativeImage *image) Updates the OpenGL ES texture associated with the latest frame through an OH_NativeImage instance.
OH_NativeImage_GetTimestamp (OH_NativeImage*image) Obtains the timestamp of the texture image that recently called the OH_NativeImage_UpdateSurfaceImage function.
OH_NativeImage_GetTransformMatrix (OH_NativeImage *image, float matrix[16]) Obtains the transform matrix of the texture image that recently called the OH_NativeImage_UpdateSurfaceImage function.
OH_NativeImage_Destroy (OH_NativeImage **image) Destroys an OH_NativeImage instance created by calling OH_NativeImage_Create. After the instance is destroyed, the pointer to the OH_NativeImage instance is assigned NULL.

Type Description

OH_NativeImage

typedef struct OH_NativeImage OH_NativeImage

Description

Provides the declaration of an OH_NativeImage struct.

OHNativeWindow

typedef struct NativeWindow OHNativeWindow

Description

Provides the capability of accessing the NativeWindow.

Function Description

OH_NativeImage_AcquireNativeWindow()

OHNativeWindow* OH_NativeImage_AcquireNativeWindow (OH_NativeImage * image)

Description

Obtains an OHNativeWindow instance associated with an OH_NativeImage instance. You need to call OH_NativeWindow_DestroyNativeWindow to release the OHNativeWindow instance when it is no longer required.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.

Returns

Returns a pointer to the OHNativeWindow instance if the operation is successful; returns NULL otherwise.

OH_NativeImage_AttachContext()

int32_t OH_NativeImage_AttachContext (OH_NativeImage * image, uint32_t textureId )

Description

Attaches an OH_NativeImage instance to the current OpenGL ES context.

The OpenGL ES texture will be bound to an GL_TEXTURE_EXTERNAL_OES instance and updated through the OH_NativeImage instance.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.
textureId ID of the OpenGL ES texture to which the OH_NativeImage instance is to be attached.

Returns

Returns 0 if the operation is successful.

OH_NativeImage_Create()

OH_NativeImage* OH_NativeImage_Create (uint32_t textureId, uint32_t textureTarget )

Description

Creates an OH_NativeImage instance to be associated with the OpenGL ES texture ID and target.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
textureId OpenGL ES texture ID.
textureTarget OpenGL ES texture target.

Returns

Returns a pointer to the OH_NativeImage instance if the operation is successful; returns NULL otherwise.

OH_NativeImage_Destroy()

void OH_NativeImage_Destroy (OH_NativeImage ** image)

Description

Destroys an OH_NativeImage instance created by calling OH_NativeImage_Create. After the instance is destroyed, the pointer to the OH_NativeImage instance is assigned NULL.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.

OH_NativeImage_DetachContext()

int32_t OH_NativeImage_DetachContext (OH_NativeImage * image)

Description

Detaches an OH_NativeImage instance from the current OpenGL ES context.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.

Returns

Returns 0 if the operation is successful.

OH_NativeImage_GetTimestamp()

int64_t OH_NativeImage_GetTimestamp (OH_NativeImage * image)

Description

Obtains the timestamp of the texture image that recently called the OH_NativeImage_UpdateSurfaceImage function.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.

Returns

Returns the timestamp of the texture image.

OH_NativeImage_GetTransformMatrix()

int32_t OH_NativeImage_GetTransformMatrix (OH_NativeImage * image, float matrix[16] )

Description

Obtains the transform matrix of the texture image that recently called the OH_NativeImage_UpdateSurfaceImage function.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.
matrix Buffer used to store the 4 * 4 transform matrix obtained.

Returns

Returns 0 if the operation is successful.

OH_NativeImage_UpdateSurfaceImage()

int32_t OH_NativeImage_UpdateSurfaceImage (OH_NativeImage * image)

Description

Updates the OpenGL ES texture associated with the latest frame through an OH_NativeImage instance.

@syscap SystemCapability.Graphic.Graphic2D.NativeImage

Parameters

Name Description
image Pointer to an OH_NativeImage instance.

Returns

Returns 0 if the operation is successful.