external_window.h
概述
定义获取和使用NativeWindow的相关函数。
起始版本:
8
相关模块:
汇总
结构体
结构体名称 | 描述 |
---|---|
Region | 表示本地窗口NativeWindow需要更新内容的矩形区域(脏区)。 |
Region::Rect | 矩形区域。 |
OHHDRMetaData | HDR元数据结构体定义 。 |
OHExtDataHandle | 扩展数据句柄结构体定义 。 |
类型定义
类型定义名称 | 描述 |
---|---|
OHNativeWindow | 提供对NativeWindow的访问功能 |
OHNativeWindowBuffer | 提供对NativeWindowBuffer的访问功能 |
Region | 表示本地窗口NativeWindow需要更新内容的矩形区域(脏区) |
枚举
枚举名称 | 描述 |
---|---|
NativeWindowOperation { SET_BUFFER_GEOMETRY, GET_BUFFER_GEOMETRY, GET_FORMAT, SET_FORMAT, GET_USAGE, SET_USAGE, SET_STRIDE, GET_STRIDE, SET_SWAP_INTERVAL, GET_SWAP_INTERVAL, SET_TIMEOUT, GET_TIMEOUT, SET_COLOR_GAMUT, GET_COLOR_GAMUT, SET_TRANSFORM, GET_TRANSFORM, SET_UI_TIMESTAMP } | OH_NativeWindow_NativeWindowHandleOpt函数中的操作码 |
OHScalingMode { OH_SCALING_MODE_FREEZE = 0, OH_SCALING_MODE_SCALE_TO_WINDOW, OH_SCALING_MODE_SCALE_CROP, OH_SCALING_MODE_NO_SCALE_CROP } | 缩放模式 Scaling Mode |
OHHDRMetadataKey { OH_METAKEY_RED_PRIMARY_X = 0, OH_METAKEY_RED_PRIMARY_Y = 1, OH_METAKEY_GREEN_PRIMARY_X = 2, OH_METAKEY_GREEN_PRIMARY_Y = 3, OH_METAKEY_BLUE_PRIMARY_X = 4, OH_METAKEY_BLUE_PRIMARY_Y = 5, OH_METAKEY_WHITE_PRIMARY_X = 6, OH_METAKEY_WHITE_PRIMARY_Y = 7, OH_METAKEY_MAX_LUMINANCE = 8, OH_METAKEY_MIN_LUMINANCE = 9, OH_METAKEY_MAX_CONTENT_LIGHT_LEVEL = 10, OH_METAKEY_MAX_FRAME_AVERAGE_LIGHT_LEVEL = 11, OH_METAKEY_HDR10_PLUS = 12, OH_METAKEY_HDR_VIVID = 13 } | 枚举HDR元数据关键字 |
函数
函数名称 | 描述 |
---|---|
OH_NativeWindow_CreateNativeWindow (void *pSurface) | 创建NativeWindow实例,每次调用都会产生一个新的NativeWindow实例 |
OH_NativeWindow_DestroyNativeWindow (OHNativeWindow *window) | 将NativeWindow对象的引用计数减1,当引用计数为0的时候,该NativeWindow对象会被析构掉 |
OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer (void *pSurfaceBuffer) | 创建NativeWindowBuffer实例,每次调用都会产生一个新的NativeWindowBuffer实例 |
OH_NativeWindow_DestroyNativeWindowBuffer (OHNativeWindowBuffer *buffer) | 将NativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该NativeWindowBuffer对象会被析构掉 |
OH_NativeWindow_NativeWindowRequestBuffer (OHNativeWindow *window, OHNativeWindowBuffer **buffer, int *fenceFd) | 通过NativeWindow对象申请一块NativeWindowBuffer,用以内容生产 |
OH_NativeWindow_NativeWindowFlushBuffer (OHNativeWindow *window, OHNativeWindowBuffer *buffer, int fenceFd, Region region) | 通过NativeWindow将生产好内容的NativeWindowBuffer放回到Buffer队列中,用以内容消费 |
OH_NativeWindow_NativeWindowAbortBuffer (OHNativeWindow *window, OHNativeWindowBuffer *buffer) | 通过NativeWindow将之前申请出来的NativeWindowBuffer返还到Buffer队列中,供下次再申请 |
OH_NativeWindow_NativeWindowHandleOpt (OHNativeWindow *window, int code,...) | 设置/获取NativeWindow的属性,包括设置/获取宽高、内容格式等 |
OH_NativeWindow_GetBufferHandleFromNative (OHNativeWindowBuffer *buffer) | 通过NativeWindowBuffer获取该buffer的BufferHandle指针 |
OH_NativeWindow_NativeObjectReference (void *obj) | 增加一个NativeObject的引用计数 |
OH_NativeWindow_NativeObjectUnreference (void *obj) | 减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉 |
OH_NativeWindow_GetNativeObjectMagic (void *obj) | 获取NativeObject的MagicId |
OH_NativeWindow_NativeWindowSetScalingMode (OHNativeWindow *window, uint32_t sequence, OHScalingMode scalingMode) | 设置NativeWindow的ScalingMode |
OH_NativeWindow_NativeWindowSetMetaData (OHNativeWindow *window, uint32_t sequence, int32_t size, const OHHDRMetaData *metaData) | 设置NativeWindow的元数据 |
OH_NativeWindow_NativeWindowSetMetaDataSet (OHNativeWindow *window, uint32_t sequence, OHHDRMetadataKey key, int32_t size, const uint8_t *metaData) | 设置NativeWindow的元数据集。 |
OH_NativeWindow_NativeWindowSetTunnelHandle (OHNativeWindow *window, const OHExtDataHandle *handle) | 设置NativeWindow的TunnelHandle。 |