OH_NativeImage
概述
提供NativeImage功能,作为数据消费者,主要用来将数据和OpenGL纹理对接,需在OpenGL环境下使用。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
汇总
文件
名称 | 描述 |
---|---|
native_image.h | 定义获取和使用NativeImage的相关函数。 |
结构体
名称 | 描述 |
---|---|
OH_OnFrameAvailableListener | 一个OH_NativeImage的监听者,通过OH_NativeImage_SetOnFrameAvailableListener接口注册, 该监听结构体当有帧可用时,将触发回调。 |
类型定义
名称 | 描述 |
---|---|
OH_NativeImage | 提供OH_NativeImage结构体声明。 |
OHNativeWindow | typedef struct NativeWindow 提供对NativeWindow结构体声明。 |
OH_OnFrameAvailable | 有buffer可获取时触发的回调函数。 |
OH_OnFrameAvailableListener | 一个OH_NativeImage的监听者,通过OH_NativeImage_SetOnFrameAvailableListener接口注册, 该监听结构体,当有buffer可获取时,将触发回调给用户。 |
函数
名称 | 描述 |
---|---|
OH_NativeImage_Create (uint32_t textureId, uint32_t textureTarget) | 创建一个OH_NativeImage实例,该实例与OpenGL ES的纹理ID和纹理目标相关联。 |
OH_NativeImage_AcquireNativeWindow (OH_NativeImage *image) | 获取与OH_NativeImage相关联的OHNativeWindow指针。 该OHNativeWindow后续不再需要时需要调用 OH_NativeWindow_DestroyNativeWindow释放。 |
OH_NativeImage_AttachContext (OH_NativeImage *image, uint32_t textureId) | 将OH_NativeImage实例附加到当前OpenGL ES上下文, 且该OpenGL ES纹理会绑定到 GL_TEXTURE_EXTERNAL_OES, 并通过OH_NativeImage进行更新。 |
OH_NativeImage_DetachContext (OH_NativeImage *image) | 将OH_NativeImage实例从当前OpenGL ES上下文分离。 |
OH_NativeImage_UpdateSurfaceImage (OH_NativeImage *image) | 通过OH_NativeImage获取最新帧更新相关联的OpenGL ES纹理。 |
OH_NativeImage_GetTimestamp (OH_NativeImage *image) | 获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的相关时间戳。 |
OH_NativeImage_GetTransformMatrix (OH_NativeImage *image, float matrix[16]) | 获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的变化矩阵。 |
OH_NativeImage_GetSurfaceId (OH_NativeImage *image, uint64_t *surfaceId) | 获取OH_NativeImage的surface编号。 |
OH_NativeImage_SetOnFrameAvailableListener (OH_NativeImage *image, OH_OnFrameAvailableListener listener) | 设置帧可用回调。 |
OH_NativeImage_UnsetOnFrameAvailableListener (OH_NativeImage *image) | 取消设置帧可用回调。 |
OH_NativeImage_Destroy (OH_NativeImage **image) | 销毁通过OH_NativeImage_Create创建的OH_NativeImage实例, 销毁后该OH_NativeImage指针会被赋值为空。 |
类型定义说明
OH_NativeImage
typedef struct OH_NativeImageOH_NativeImage
描述
提供OH_NativeImage结构体声明。
起始版本: 9
OH_OnFrameAvailable
typedef void(* OH_OnFrameAvailable) (void *context)
描述
有buffer可获取时触发的回调函数。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 11
参数:
名称 | 描述 |
---|---|
context | 用户自定义的上下文信息,会在回调触发时返回给用户。 |
OH_OnFrameAvailableListener
typedef struct OH_OnFrameAvailableListener OH_OnFrameAvailableListener
描述
一个OH_NativeImage的监听者,通过OH_NativeImage_SetOnFrameAvailableListener接口注册, 该监听结构体,当有buffer可获取时,将触发回调给用户。
起始版本: 11
OHNativeWindow
typedef struct NativeWindow OHNativeWindow
描述
提供对NativeWindow的访问功能。
起始版本: 9
函数说明
OH_NativeImage_AcquireNativeWindow()
OHNativeWindow* OH_NativeImage_AcquireNativeWindow (OH_NativeImage * image)
描述
获取与OH_NativeImage相关联的OHNativeWindow指针. 该OHNativeWindow后续不再需要时需要调用
OH_NativeWindow_DestroyNativeWindow释放。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
返回:
成功则返回一个指向OHNativeWindow实例的指针,否则返回NULL。
OH_NativeImage_AttachContext()
int32_t OH_NativeImage_AttachContext (OH_NativeImage * image, uint32_t textureId )
描述
将OH_NativeImage实例附加到当前OpenGL ES上下文, 且该OpenGL ES纹理会绑定到
GL_TEXTURE_EXTERNAL_OES, 并通过OH_NativeImage进行更新。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
textureId | 是OH_NativeImage要附加到的OpenGL ES纹理的id。 |
返回:
返回值为0表示执行成功。
OH_NativeImage_Create()
OH_NativeImage* OH_NativeImage_Create (uint32_t textureId, uint32_t textureTarget )
描述
创建一个OH_NativeImage实例,该实例与OpenGL ES的纹理ID和纹理目标相关联。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
textureId | OpenGL ES的纹理ID,OH_NativeImage实例会与之相关联。 |
textureTarget | OpenGL ES的纹理目标。 |
返回:
返回一个指向OH_NativeImage实例的指针 returns NULL otherwise。
OH_NativeImage_Destroy()
void OH_NativeImage_Destroy (OH_NativeImage ** image)
描述
销毁通过OH_NativeImage_Create创建的OH_NativeImage实例, 销毁后该
OH_NativeImage指针会被赋值为空。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
OH_NativeImage_DetachContext()
int32_t OH_NativeImage_DetachContext (OH_NativeImage * image)
描述
将OH_NativeImage实例从当前OpenGL ES上下文分离。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
返回:
返回值为0表示执行成功。
OH_NativeImage_GetSurfaceId()
int32_t OH_NativeImage_GetSurfaceId (OH_NativeImage * image, uint64_t * surfaceId )
描述
获取OH_NativeImage的surface编号。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 11
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
surfaceId | 是指向surface编号的指针。 |
返回:
返回值为0表示执行成功。
OH_NativeImage_GetTimestamp()
int64_t OH_NativeImage_GetTimestamp (OH_NativeImage * image)
描述
获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的相关时间戳。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
返回:
返回纹理图像的相关时间戳。
OH_NativeImage_GetTransformMatrix()
int32_t OH_NativeImage_GetTransformMatrix (OH_NativeImage * image, float matrix[16] )
描述
获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的变化矩阵。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
matrix | 用来存储要获取的4*4的变化矩阵。 |
返回:
返回值为0表示执行成功。
OH_NativeImage_SetOnFrameAvailableListener()
int32_t OH_NativeImage_SetOnFrameAvailableListener (OH_NativeImage * image, OH_OnFrameAvailableListener listener )
描述
设置帧可用回调。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 11
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
listener | 表示回调监听者。 |
返回:
返回值为0表示执行成功。
OH_NativeImage_UnsetOnFrameAvailableListener()
int32_t OH_NativeImage_UnsetOnFrameAvailableListener (OH_NativeImage * image)
描述
取消设置帧可用回调。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 11
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
返回:
返回值为0表示执行成功。
OH_NativeImage_UpdateSurfaceImage()
int32_t OH_NativeImage_UpdateSurfaceImage (OH_NativeImage * image)
描述
通过OH_NativeImage获取最新帧更新相关联的OpenGL ES纹理。
系统能力: SystemCapability.Graphic.Graphic2D.NativeImage
起始版本: 9
参数:
名称 | 描述 |
---|---|
image | 是指向OH_NativeImage实例的指针。 |
返回:
返回值为0表示执行成功。