You need to sign in or sign up before continuing.
未验证 提交 01bfc477 编写于 作者: O openharmony_ci 提交者: Gitee

!9743 native api更新,不涉及翻译

Merge pull request !9743 from zengyawen/forNative
...@@ -2,13 +2,15 @@ ...@@ -2,13 +2,15 @@
- 模块 - 模块
- [Native XComponent](_o_h___native_x_component.md) - [Native XComponent](_o_h___native_x_component.md)
- [Native_Bundle](_native___bundle.md)
- [HiLog](_hi_log.md) - [HiLog](_hi_log.md)
- [NativeWindow](_native_window.md) - [NativeWindow](_native_window.md)
- [OH_NativeBuffer](_o_h___native_buffer.md)
- [Drawing](_drawing.md) - [Drawing](_drawing.md)
- [OH_NativeImage](_o_h___native_image.md)
- [NativeVsync](_native_vsync.md)
- [Image](image.md)
- [Rawfile](rawfile.md) - [Rawfile](rawfile.md)
- 头文件 - 头文件
- [drawing_bitmap.h](drawing__bitmap_8h.md) - [drawing_bitmap.h](drawing__bitmap_8h.md)
- [drawing_brush.h](drawing__brush_8h.md) - [drawing_brush.h](drawing__brush_8h.md)
- [drawing_canvas.h](drawing__canvas_8h.md) - [drawing_canvas.h](drawing__canvas_8h.md)
...@@ -20,14 +22,22 @@ ...@@ -20,14 +22,22 @@
- [drawing_text_typography.h](drawing__text__typography_8h.md) - [drawing_text_typography.h](drawing__text__typography_8h.md)
- [drawing_types.h](drawing__types_8h.md) - [drawing_types.h](drawing__types_8h.md)
- [external_window.h](external__window_8h.md) - [external_window.h](external__window_8h.md)
- [image_pixel_map_napi.h](image__pixel__map__napi_8h.md)
- [log.h](log_8h.md) - [log.h](log_8h.md)
- [native_interface_bundle.h](native__interface__bundle_8h.md) - [native_buffer.h](native__buffer_8h.md)
- [native_image.h](native__image_8h.md)
- [native_interface_xcomponent.h](native__interface__xcomponent_8h.md) - [native_interface_xcomponent.h](native__interface__xcomponent_8h.md)
- [native_vsync.h](native__vsync_8h.md)
- [raw_dir.h](raw__dir_8h.md) - [raw_dir.h](raw__dir_8h.md)
- [raw_file_manager.h](raw__file__manager_8h.md)
- [raw_file.h](raw__file_8h.md) - [raw_file.h](raw__file_8h.md)
- 结构体 - 结构体
- [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) - [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md)
- [OH_NativeBuffer_Config](_o_h___native_buffer___config.md)
- [OH_NativeXComponent_Callback](_o_h___native_x_component___callback.md) - [OH_NativeXComponent_Callback](_o_h___native_x_component___callback.md)
- [OH_NativeXComponent_MouseEvent](_o_h___native_x_component___mouse_event.md)
- [OH_NativeXComponent_MouseEvent_Callback](_o_h___native_x_component___mouse_event___callback.md)
- [OH_NativeXComponent_TouchEvent](_o_h___native_x_component___touch_event.md) - [OH_NativeXComponent_TouchEvent](_o_h___native_x_component___touch_event.md)
- [OH_NativeXComponent_TouchPoint](_o_h___native_x_component___touch_point.md) - [OH_NativeXComponent_TouchPoint](_o_h___native_x_component___touch_point.md)
- [OhosPixelMapInfo](_ohos_pixel_map_info.md)
- [RawFileDescriptor](_raw_file_descriptor.md) - [RawFileDescriptor](_raw_file_descriptor.md)
# HiLog # HiLog
## **Overview**
**Description:**
HiLog模块实现日志打印功能。 HiLog模块实现日志打印功能。
开发者可以通过使用这些接口实现日志相关功能,输出日志时可以指定日志类型、所属业务领域、日志TAG标识、日志级别等。 开发者可以通过使用这些接口实现日志相关功能,输出日志时可以指定日志类型、所属业务领域、日志TAG标识、日志级别等。
\@syscap SystemCapability.HiviewDFX.HiLog
**Since:** @syscap SystemCapability.HiviewDFX.HiLog
**自从:**
8 8
## **Summary** ## 汇总
### Files ### 文件
| File Name | Description | | 文件名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [log.h](log_8h.md) | HiLog模块日志接口定义,通过这些接口实现日志打印相关功能。 | | [log.h](log_8h.md) | HiLog模块日志接口定义,通过这些接口实现日志打印相关功能。 |
### Macros ### 宏定义
| Macro Name and Value | Description | | 宏定义名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| LOG_DOMAIN   0 | 日志所对应的业务领域,用于标识业务的子系统、模块。 | | [LOG_DOMAIN](#log_domain) 0 | 日志所对应的业务领域,用于标识业务的子系统、模块。 |
| LOG_TAG   NULL | 字符串常量,标识调用所在的类或者业务。 | | [LOG_TAG](#log_tag) NULL | 字符串常量,标识调用所在的类或者业务。 |
| OH_LOG_DEBUG(type, ...)   ((void)OH_LOG_Print((type), LOG_DEBUG, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) | DEBUG级别写日志,宏封装接口。 | | [OH_LOG_DEBUG](#oh_log_debug)(type, ...) ((void)[OH_LOG_Print](#oh_log_print)((type), LOG_DEBUG, LOG_DOMAIN, LOG_TAG, \__VA_ARGS__)) | DEBUG级别写日志,宏封装接口。 |
| OH_LOG_INFO(type, ...)   ((void)OH_LOG_Print((type), LOG_INFO, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) | INFO级别写日志,宏封装接口。 | | [OH_LOG_INFO](#oh_log_info)(type, ...) ((void)[OH_LOG_Print](#oh_log_print)((type), LOG_INFO, LOG_DOMAIN, LOG_TAG, \__VA_ARGS__)) | INFO级别写日志,宏封装接口。 |
| OH_LOG_WARN(type, ...)   ((void)OH_LOG_Print((type), LOG_WARN, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) | WARN级别写日志,宏封装接口。 | | [OH_LOG_WARN](#oh_log_warn)(type, ...) ((void)[OH_LOG_Print](#oh_log_print)((type), LOG_WARN, LOG_DOMAIN, LOG_TAG, \__VA_ARGS__)) | WARN级别写日志,宏封装接口。 |
| OH_LOG_ERROR(type, ...)   ((void)OH_LOG_Print((type), LOG_ERROR, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) | ERROR级别写日志,宏封装接口。 | | [OH_LOG_ERROR](#oh_log_error)(type, ...) ((void)[OH_LOG_Print](#oh_log_print)((type), LOG_ERROR, LOG_DOMAIN, LOG_TAG, \__VA_ARGS__)) | ERROR级别写日志,宏封装接口。 |
| OH_LOG_FATAL(type, ...)   ((void)HiLogPrint((type), LOG_FATAL, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) | FATAL级别写日志,宏封装接口。 | | [OH_LOG_FATAL](#oh_log_fatal)(type, ...) ((void)HiLogPrint((type), LOG_FATAL, LOG_DOMAIN, LOG_TAG, \__VA_ARGS__)) | FATAL级别写日志,宏封装接口。 |
### Enumerations ### 枚举
| Enumeration Name | Description | | 枚举名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| LogType { LOG_APP = 0 } | 日志类型。 | | [LogType](#logtype) { LOG_APP= 0 } | 日志类型。 |
| LogLevel {   LOG_DEBUG = 3, LOG_INFO = 4, LOG_WARN = 5, LOG_ERROR = 6,   LOG_FATAL = 7 } | 日志级别。 | | [LogLevel](#loglevel) { LOG_DEBUG = 3, LOG_INFO = 4, LOG_WARN = 5, LOG_ERROR = 6, LOG_FATAL =7 } | 日志级别。 |
### Functions ### 函数
| Function | Description | | 函数名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| OH_LOG_Print&nbsp;(LogType&nbsp;type,&nbsp;LogLevel&nbsp;level,&nbsp;unsigned&nbsp;int&nbsp;domain,&nbsp;const&nbsp;char&nbsp;\*tag,&nbsp;const&nbsp;char&nbsp;\*fmt,...)&nbsp;__attribute__((__format__(os_log | int<br/>写日志接口。 | | [OH_LOG_Print](#oh_log_print) ([LogType](#logtype) type, [LogLevel](#loglevel) level, unsigned int domain, const char \*tag, const char \*fmt,...) \_\_attribute\_\_((\_\_format\_\_(os\_log | 写日志接口。 |
| OH_LOG_IsLoggable&nbsp;(unsigned&nbsp;int&nbsp;domain,&nbsp;const&nbsp;char&nbsp;\*tag,&nbsp;LogLevel&nbsp;level) | int&nbsp;bool<br/>检查指定业务领域、TAG、级别的日志是否可以打印。 | | [OH_LOG_IsLoggable](#oh_log_isloggable) (unsigned int domain, const char \*tag, [LogLevel](#loglevel) level) | 检查指定业务领域、TAG、级别的日志是否可以打印。 |
## **Details** ## 详细描述
## **Macro Definition** ## 宏定义说明
### LOG_DOMAIN ### LOG_DOMAIN
``` ```
#define LOG_DOMAIN 0 #define LOG_DOMAIN 0
``` ```
**Description:** **描述:**
日志所对应的业务领域,用于标识业务的子系统、模块。 日志所对应的业务领域,用于标识业务的子系统、模块。
16进制整数,有效范围0x0~0xFFFF,超过自动截掉高位。 16进制整数,有效范围0x0~0xFFFF,超过自动截掉高位。
**自从:**
8
### LOG_TAG ### LOG_TAG
``` ```
#define LOG_TAG NULL #define LOG_TAG NULL
``` ```
**Description:** **描述:**
字符串常量,标识调用所在的类或者业务。 字符串常量,标识调用所在的类或者业务。
**自从:**
8
### OH_LOG_DEBUG ### OH_LOG_DEBUG
``` ```
#define OH_LOG_DEBUG( type, ... ) ((void)OH_LOG_Print((type), LOG_DEBUG, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) #define OH_LOG_DEBUG( type, ... ) ((void)OH_LOG_Print((type), LOG_DEBUG, LOG_DOMAIN, LOG_TAG, __VA_ARGS__))
``` ```
**Description:** **描述:**
DEBUG级别写日志,宏封装接口。 DEBUG级别写日志,宏封装接口。
使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。 使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| type | 日志类型,三方应用日志类型为LOG_APP。 | | type | 日志类型,三方应用日志类型为LOG_APP。 |
| fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 | | fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 |
| ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 | | ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 |
**See also:** **参见:**
[OH_LOG_Print](#oh_log_print) [OH_LOG_Print](#oh_log_print)
**自从:**
8
### OH_LOG_ERROR ### OH_LOG_ERROR
``` ```
#define OH_LOG_ERROR( type, ... ) ((void)OH_LOG_Print((type), LOG_ERROR, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) #define OH_LOG_ERROR( type, ... ) ((void)OH_LOG_Print((type), LOG_ERROR, LOG_DOMAIN, LOG_TAG, __VA_ARGS__))
``` ```
**Description:** **描述:**
ERROR级别写日志,宏封装接口。 ERROR级别写日志,宏封装接口。
使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。 使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| type | 日志类型,三方应用日志类型为LOG_APP。 | | type | 日志类型,三方应用日志类型为LOG_APP。 |
| fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 | | fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 |
| ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 | | ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 |
**See also:** **参见:**
[OH_LOG_Print](#oh_log_print) [OH_LOG_Print](#oh_log_print)
**自从:**
8
### OH_LOG_FATAL ### OH_LOG_FATAL
``` ```
#define OH_LOG_FATAL( type, ... ) ((void)HiLogPrint((type), LOG_FATAL, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) #define OH_LOG_FATAL( type, ... ) ((void)HiLogPrint((type), LOG_FATAL, LOG_DOMAIN, LOG_TAG, __VA_ARGS__))
``` ```
**Description:** **描述:**
FATAL级别写日志,宏封装接口。 FATAL级别写日志,宏封装接口。
使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。 使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| type | 日志类型,三方应用日志类型为LOG_APP。 | | type | 日志类型,三方应用日志类型为LOG_APP。 |
| fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 | | fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 |
| ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 | | ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 |
**See also:** **参见:**
[OH_LOG_Print](#oh_log_print) [OH_LOG_Print](#oh_log_print)
**自从:**
8
### OH_LOG_INFO ### OH_LOG_INFO
``` ```
#define OH_LOG_INFO( type, ... ) ((void)OH_LOG_Print((type), LOG_INFO, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) #define OH_LOG_INFO( type, ... ) ((void)OH_LOG_Print((type), LOG_INFO, LOG_DOMAIN, LOG_TAG, __VA_ARGS__))
``` ```
**Description:** **描述:**
INFO级别写日志,宏封装接口。 INFO级别写日志,宏封装接口。
使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。 使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| type | 日志类型,三方应用日志类型为LOG_APP。 | | type | 日志类型,三方应用日志类型为LOG_APP。 |
| fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 | | fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 |
| ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 | | ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 |
**See also:** **参见:**
[OH_LOG_Print](#oh_log_print) [OH_LOG_Print](#oh_log_print)
**自从:**
8
### OH_LOG_WARN ### OH_LOG_WARN
``` ```
#define OH_LOG_WARN( type, ... ) ((void)OH_LOG_Print((type), LOG_WARN, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) #define OH_LOG_WARN( type, ... ) ((void)OH_LOG_Print((type), LOG_WARN, LOG_DOMAIN, LOG_TAG, __VA_ARGS__))
``` ```
**Description:** **描述:**
WARN级别写日志,宏封装接口。 WARN级别写日志,宏封装接口。
使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。 使用时需要先定义日志业务领域、日志TAG,一般在源文件起始处统一定义一次。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| type | 日志类型,三方应用日志类型为LOG_APP。 | | type | 日志类型,三方应用日志类型为LOG_APP。 |
| fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 | | fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 |
| ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 | | ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 |
**See also:** **参见:**
[OH_LOG_Print](#oh_log_print) [OH_LOG_Print](#oh_log_print)
**自从:**
## **Enumeration Type** 8
## 枚举类型说明
### LogLevel ### LogLevel
``` ```
enum LogLevel enum LogLevel
``` ```
**Description:** **描述:**
日志级别。 日志级别。
该枚举类型用于定义日志级别。 该枚举类型用于定义日志级别。
各级别建议使用方式: 各级别建议使用方式:
DEBUG:比INFO级别更详细的流程记录,通过该级别的日志可以更详细地分析业务流程和定位分析问题。DEBUG级别的日志在正式发布版本中默认不会被打印,只有在调试版本或打开调试开关的情况下才会打印。 DEBUG:比INFO级别更详细的流程记录,通过该级别的日志可以更详细地分析业务流程和定位分析问题。DEBUG级别的日志在正式发布版本中默认不会被打印,只有在调试版本或打开调试开关的情况下才会打印。
INFO:用来记录业务关键流程节点,可以还原业务的主要运行过程;用来记录非正常情况信息,但这些情况都是可以预期的(如无网络信号、登录失败等)。这些日志都应该由该业务内处于支配地位的模块来记录,避免在多个被调用的模块或低级函数中重复记录。 INFO:用来记录业务关键流程节点,可以还原业务的主要运行过程;用来记录非正常情况信息,但这些情况都是可以预期的(如无网络信号、登录失败等)。这些日志都应该由该业务内处于支配地位的模块来记录,避免在多个被调用的模块或低级函数中重复记录。
WARN:发生了较为严重的非预期情况,但是对用户影响不大,程序可以自动恢复或通过简单的操作就可以恢复的问题。 WARN:发生了较为严重的非预期情况,但是对用户影响不大,程序可以自动恢复或通过简单的操作就可以恢复的问题。
ERROR:程序或功能发生了错误,该错误会影响功能的正常运行或用户的正常使用,可以恢复但恢复代价较高,如重置数据等。 ERROR:程序或功能发生了错误,该错误会影响功能的正常运行或用户的正常使用,可以恢复但恢复代价较高,如重置数据等。
FATAL:重大致命异常,表明程序或功能即将崩溃,故障无法恢复。 FATAL:重大致命异常,表明程序或功能即将崩溃,故障无法恢复。
| Enumerator | Description | | 枚举值 | 描述 |
| -------- | -------- | | -------- | -------- |
| LOG_DEBUG | DEBUG日志级别,使用OH_LOG_DEBUG接口打印 | | LOG_DEBUG | DEBUG日志级别,使用OH_LOG_DEBUG接口打印 |
| LOG_INFO | INFO日志级别,使用OH_LOG_INFO接口打印 | | LOG_INFO | INFO日志级别,使用OH_LOG_INFO接口打印 |
| LOG_WARN | WARN日志级别,使用OH_LOG_WARN接口打印 | | LOG_WARN | WARN日志级别,使用OH_LOG_WARN接口打印 |
| LOG_ERROR | ERROR日志级别,使用OH_LOG_ERROR接口打印 | | LOG_ERROR | ERROR日志级别,使用OH_LOG_ERROR接口打印 |
| LOG_FATAL | FATAL日志级别,使用OH_LOG_FATAL接口打印 | | LOG_FATAL | FATAL日志级别,使用OH_LOG_FATAL接口打印 |
**自从:**
8
### LogType ### LogType
``` ```
enum LogType enum LogType
``` ```
**Description:** **描述:**
日志类型。 日志类型。
该枚举类型用于定义应用开发者可以使用的日志类型。当前有应用日志LOG_APP。 该枚举类型用于定义应用开发者可以使用的日志类型。当前有应用日志LOG_APP。
| Enumerator | Description | | 枚举值 | 描述 |
| -------- | -------- | | -------- | -------- |
| LOG_APP | 应用日志 | | LOG_APP | 应用日志 |
**自从:**
8
## **Function** ## 函数说明
### OH_LOG_IsLoggable() ### OH_LOG_IsLoggable()
``` ```
int bool OH_LOG_IsLoggable (unsigned int domain, const char * tag, LogLevel level ) int bool OH_LOG_IsLoggable (unsigned int domain, const char * tag, LogLevel level )
``` ```
**Description:** **描述:**
检查指定业务领域、TAG、级别的日志是否可以打印。 检查指定业务领域、TAG、级别的日志是否可以打印。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| domain | 指定日志业务领域。 | | domain | 指定日志业务领域。 |
| tag | 指定日志TAG。 | | tag | 指定日志TAG。 |
| level | 指定日志level。 | | level | 指定日志level。 |
**Returns:** **返回:**
如果指定domain、tag、level日志可以打印则返回true;否则返回false。 如果指定domain、tag、level日志可以打印则返回true;否则返回false。
**自从:**
8
### OH_LOG_Print() ### OH_LOG_Print()
``` ```
int OH_LOG_Print (LogType type, LogLevel level, unsigned int domain, const char * tag, const char * fmt, ... ) int OH_LOG_Print (LogType type, LogLevel level, unsigned int domain, const char * tag, const char * fmt, ... )
``` ```
**Description:** **描述:**
写日志接口。 写日志接口。
指定日志类型、日志级别、业务领域、TAG,按照类printf格式类型和隐私指示确定需要输出的变参。 指定日志类型、日志级别、业务领域、TAG,按照类printf格式类型和隐私指示确定需要输出的变参。
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| type | 日志类型,三方应用日志类型为LOG_APP。 | | type | 日志类型,三方应用日志类型为LOG_APP。 |
| level | 日志级别,日志级别包括LOG_DEBUG、LOG_INFO、LOG_WARN、LOG_ERROR、LOG_FATAL。 | | level | 日志级别,日志级别包括LOG_DEBUG、LOG_INFO、LOG_WARN、LOG_ERROR、LOG_FATAL。 |
| domain | 日志业务领域,16进制整数,范围0x0~0xFFFF。 | | domain | 日志业务领域,16进制整数,范围0x0~0xFFFF。 |
| tag | 日志TAG,字符串,标识调用所在的类或者业务。 | | tag | 日志TAG,字符串,标识调用所在的类或者业务。 |
| fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 | | fmt | 格式化字符串,基于类printf格式的增强,支持隐私参数标识,即在格式字符串每个参数中符号后类型前增加{public}、{private}标识。 |
| ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 | | ... | 与格式字符串里参数类型对应的参数列表,参数数目、参数类型必须与格式字符串中的标识一一对应。 |
**Returns:** **返回:**
大于等于0表示成功;小于0表示失败。 大于等于0表示成功;小于0表示失败。
**自从:**
8
# Native_Bundle
## **Overview**
**Description:**
Describes the Native Bundle.
**Since:**
9
**Version:**
1.0
## **Summary**
### Files
| File&nbsp;Name | Description |
| -------- | -------- |
| [native_interface_bundle.h](native__interface__bundle_8h.md) | Declares&nbsp;the&nbsp;**Bundle**-specific&nbsp;function,&nbsp;including&nbsp;function&nbsp;for&nbsp;obtaining&nbsp;application&nbsp;ID. |
### Functions
| Function | Description |
| -------- | -------- |
| OH_NativeBundle_GetAppIdByBundleName&nbsp;(const&nbsp;char&nbsp;\*bundleName) | char&nbsp;\*<br/>Obtains&nbsp;the&nbsp;application&nbsp;ID&nbsp;based&nbsp;on&nbsp;the&nbsp;given&nbsp;bundle&nbsp;name. |
## **Details**
## **Function**
### OH_NativeBundle_GetAppIdByBundleName()
```
char* OH_NativeBundle_GetAppIdByBundleName (const char * bundleName)
```
**Description:**
Obtains the application ID based on the given bundle name.
**Parameters:**
| Name | Description |
| -------- | -------- |
| bundleName | Indicates&nbsp;the&nbsp;bundle&nbsp;name&nbsp;of&nbsp;the&nbsp;application. |
**Returns:**
Returns the application ID pointer if successfully obtained and needs to be freed; returns nullptr otherwise.
# NativeVsync
提供NativeVsync功能。
@syscap SystemCapability.Graphic.Graphic2D.NativeVsync
**自从:**
8
## 汇总
### 文件
| 文件名称 | 描述 |
| -------- | -------- |
| [native_vsync.h](native__vsync_8h.md) | 定义获取和使用NativeVsync的相关函数 |
### 函数
| 函数名称 | 描述 |
| -------- | -------- |
| [OH_NativeVSync_Create](#oh_nativevsync_create) (const char \*name, unsigned int length) | 创建一个OH_NativeVSync实例,每次调用都会产生一个新的实例 |
| [OH_NativeVSync_Destroy](#oh_nativevsync_destroy) (OH_NativeVSync \*nativeVsync) | 销毁OH_NativeVSync实例 |
| [OH_NativeVSync_RequestFrame](#oh_nativevsync_requestframe) (OH_NativeVSync \*nativeVsync, OH_NativeVSync_FrameCallback callback, void \*data) | 请求下一次vsync信号,当信号到来时,调用回调函数callback |
## 详细描述
## 函数说明
### OH_NativeVSync_Create()
```
OH_NativeVSync* OH_NativeVSync_Create (const char * name, unsigned int length )
```
**描述:**
创建一个OH_NativeVSync实例,每次调用都会产生一个新的实例
@syscap SystemCapability.Graphic.Graphic2D.NativeVsync
**参数:**
| Name | 描述 |
| -------- | -------- |
| name | 参数表示一个vsync连接的名字 |
| length | 参数是name的长度 |
**返回:**
返回一个指向OH_NativeVSync实例的指针
**自从:**
8
### OH_NativeVSync_Destroy()
```
void OH_NativeVSync_Destroy (OH_NativeVSync * nativeVsync)
```
**描述:**
销毁OH_NativeVSync实例
@syscap SystemCapability.Graphic.Graphic2D.NativeVsync
**参数:**
| Name | 描述 |
| -------- | -------- |
| nativeVsync | 参数是一个指向OH_NativeVSync实例的指针 |
**自从:**
8
### OH_NativeVSync_RequestFrame()
```
int OH_NativeVSync_RequestFrame (OH_NativeVSync * nativeVsync, OH_NativeVSync_FrameCallback callback, void * data )
```
**描述:**
请求下一次vsync信号,当信号到来时,调用回调函数callback
@syscap SystemCapability.Graphic.Graphic2D.NativeVsync
**参数:**
| Name | 描述 |
| -------- | -------- |
| nativeVsync | 参数是一个指向OH_NativeVSync实例的指针 |
| callback | 参数是一个OH_NativeVSync_FrameCallback类型的函数指针,当下一次vsync信号到来时会被调用 |
| data | 参数是一个指向用户自定义数据结构的指针,类型是void\* |
**返回:**
返回一个由GSError定义的int32_t类型的错误码
**自从:**
8
# NativeWindow # NativeWindow
## **Overview**
**Description:**
提供NativeWindow功能,主要用来和egl对接 提供NativeWindow功能,主要用来和egl对接
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Since:** @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
8
**Version:** **自从:**
1.0
8
## **Summary**
## 汇总
### Files
| File&nbsp;Name | Description | ### 文件
| 文件名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [external_window.h](external__window_8h.md) | 定义获取和使用NativeWindow的相关函数 | | [external_window.h](external__window_8h.md) | 定义获取和使用NativeWindow的相关函数 |
### Functions ### 函数
| Function | Description | | 函数名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| OH_NativeWindow_CreateNativeWindowFromSurface&nbsp;(void&nbsp;\*pSurface) | struct&nbsp;NativeWindow&nbsp;\*<br/>创建NativeWindow实例,每次调用都会产生一个新的NativeWindow实例 | | [OH_NativeWindow_CreateNativeWindowFromSurface](#oh_nativewindow_createnativewindowfromsurface) (void \*pSurface) | 创建NativeWindow实例,每次调用都会产生一个新的NativeWindow实例 |
| OH_NativeWindow_DestroyNativeWindow&nbsp;(struct&nbsp;NativeWindow&nbsp;\*window) | void<br/>将NativeWindow对象的引用计数减1,当引用计数为0的时候,该NativeWindow对象会被析构掉 | | [OH_NativeWindow_DestroyNativeWindow](#oh_nativewindow_destroynativewindow) (struct NativeWindow \*window) | 将NativeWindow对象的引用计数减1,当引用计数为0的时候,该NativeWindow对象会被析构掉 |
| OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer&nbsp;(void&nbsp;\*pSurfaceBuffer) | struct&nbsp;NativeWindowBuffer&nbsp;\*<br/>创建NativeWindowBuffer实例,每次调用都会产生一个新的NativeWindowBuffer实例 | | [OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer](#oh_nativewindow_createnativewindowbufferfromsurfacebuffer) (void \*pSurfaceBuffer) | 创建NativeWindowBuffer实例,每次调用都会产生一个新的NativeWindowBuffer实例 |
| OH_NativeWindow_DestroyNativeWindowBuffer&nbsp;(struct&nbsp;NativeWindowBuffer&nbsp;\*buffer) | void<br/>将NativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该NativeWindowBuffer对象会被析构掉 | | [OH_NativeWindow_DestroyNativeWindowBuffer](#oh_nativewindow_destroynativewindowbuffer) (struct NativeWindowBuffer \*buffer) | 将NativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该NativeWindowBuffer对象会被析构掉 |
| OH_NativeWindow_NativeWindowRequestBuffer&nbsp;(struct&nbsp;NativeWindow&nbsp;\*window,&nbsp;struct&nbsp;NativeWindowBuffer&nbsp;\*\*buffer,&nbsp;int&nbsp;\*fenceFd) | int32_t<br/>通过NativeWindow对象申请一块NativeWindowBuffer,用以内容生产 | | [OH_NativeWindow_NativeWindowRequestBuffer](#oh_nativewindow_nativewindowrequestbuffer) (struct NativeWindow \*window, struct NativeWindowBuffer \*\*buffer, int \*fenceFd) | 通过NativeWindow对象申请一块NativeWindowBuffer,用以内容生产 |
| OH_NativeWindow_NativeWindowFlushBuffer&nbsp;(struct&nbsp;NativeWindow&nbsp;\*window,&nbsp;struct&nbsp;NativeWindowBuffer&nbsp;\*buffer,&nbsp;int&nbsp;fenceFd,&nbsp;Region&nbsp;region) | int32_t<br/>通过NativeWindow将生产好内容的NativeWindowBuffer放回到Buffer队列中,用以内容消费 | | [OH_NativeWindow_NativeWindowFlushBuffer](#oh_nativewindow_nativewindowflushbuffer) (struct NativeWindow \*window, struct NativeWindowBuffer \*buffer, int fenceFd, Region region) | 通过NativeWindow将生产好内容的NativeWindowBuffer放回到Buffer队列中,用以内容消费 |
| OH_NativeWindow_NativeWindowCancelBuffer&nbsp;(struct&nbsp;NativeWindow&nbsp;\*window,&nbsp;struct&nbsp;NativeWindowBuffer&nbsp;\*buffer) | int32_t<br/>通过NativeWindow将之前申请出来的NativeWindowBuffer返还到Buffer队列中,供下次再申请 | | [OH_NativeWindow_NativeWindowCancelBuffer](#oh_nativewindow_nativewindowcancelbuffer) (struct NativeWindow \*window, struct NativeWindowBuffer \*buffer) | 通过NativeWindow将之前申请出来的NativeWindowBuffer返还到Buffer队列中,供下次再申请 |
| OH_NativeWindow_NativeWindowHandleOpt&nbsp;(struct&nbsp;NativeWindow&nbsp;\*window,&nbsp;int&nbsp;code,...) | int32_t<br/>设置/获取NativeWindow的属性,包括设置/获取宽高、内容格式等 | | [OH_NativeWindow_NativeWindowHandleOpt](#oh_nativewindow_nativewindowhandleopt) (struct NativeWindow \*window, int code,...) | 设置/获取NativeWindow的属性,包括设置/获取宽高、内容格式等 |
| OH_NativeWindow_GetBufferHandleFromNative&nbsp;(struct&nbsp;NativeWindowBuffer&nbsp;\*buffer) | BufferHandle&nbsp;\*<br/>通过NativeWindowBuffer获取该buffer的BufferHandle指针 | | [OH_NativeWindow_GetBufferHandleFromNative](#oh_nativewindow_getbufferhandlefromnative) (struct NativeWindowBuffer \*buffer) | 通过NativeWindowBuffer获取该buffer的BufferHandle指针 |
| OH_NativeWindow_NativeObjectReference&nbsp;(void&nbsp;\*obj) | int32_t<br/>增加一个NativeObject的引用计数 | | [OH_NativeWindow_NativeObjectReference](#oh_nativewindow_nativeobjectreference) (void \*obj) | 增加一个NativeObject的引用计数 |
| OH_NativeWindow_NativeObjectUnreference&nbsp;(void&nbsp;\*obj) | int32_t<br/>减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉 | | [OH_NativeWindow_NativeObjectUnreference](#oh_nativewindow_nativeobjectunreference) (void \*obj) | 减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉 |
| OH_NativeWindow_GetNativeObjectMagic&nbsp;(void&nbsp;\*obj) | int32_t<br/>获取NativeObject的MagicId | | [OH_NativeWindow_GetNativeObjectMagic](#oh_nativewindow_getnativeobjectmagic) (void \*obj) | 获取NativeObject的MagicId |
## **Details** ## 详细描述
## **Function** ## 函数说明
### OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer() ### OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer()
``` ```
struct NativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer (void * pSurfaceBuffer) struct NativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer (void * pSurfaceBuffer)
``` ```
**Description:** **描述:**
创建NativeWindowBuffer实例,每次调用都会产生一个新的NativeWindowBuffer实例 创建NativeWindowBuffer实例,每次调用都会产生一个新的NativeWindowBuffer实例
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| pSurfaceBuffer | 参数是一个指向生产者buffer的指针,类型为sptr&lt;OHOS::SurfaceBuffer&gt; | | pSurfaceBuffer | 参数是一个指向生产者buffer的指针,类型为sptr&lt;OHOS::SurfaceBuffer&gt; |
**Returns:** **返回:**
返回一个指针,指向NativeWindowBuffer的结构体实例 返回一个指针,指向NativeWindowBuffer的结构体实例
**自从:**
8
### OH_NativeWindow_CreateNativeWindowFromSurface() ### OH_NativeWindow_CreateNativeWindowFromSurface()
``` ```
struct NativeWindow* OH_NativeWindow_CreateNativeWindowFromSurface (void * pSurface) struct NativeWindow* OH_NativeWindow_CreateNativeWindowFromSurface (void * pSurface)
``` ```
**Description:** **描述:**
创建NativeWindow实例,每次调用都会产生一个新的NativeWindow实例 创建NativeWindow实例,每次调用都会产生一个新的NativeWindow实例
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| pSurface | 参数是一个指向生产者ProduceSurface的指针,类型为sptr&lt;OHOS::Surface&gt; | | pSurface | 参数是一个指向生产者ProduceSurface的指针,类型为sptr&lt;OHOS::Surface&gt; |
**Returns:** **返回:**
返回一个指针,指向NativeWindow的结构体实例 返回一个指针,指向NativeWindow的结构体实例
**自从:**
8
### OH_NativeWindow_DestroyNativeWindow() ### OH_NativeWindow_DestroyNativeWindow()
``` ```
void OH_NativeWindow_DestroyNativeWindow (struct NativeWindow * window) void OH_NativeWindow_DestroyNativeWindow (struct NativeWindow * window)
``` ```
**Description:** **描述:**
将NativeWindow对象的引用计数减1,当引用计数为0的时候,该NativeWindow对象会被析构掉 将NativeWindow对象的引用计数减1,当引用计数为0的时候,该NativeWindow对象会被析构掉
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| window | 参数是一个NativeWindow的结构体实例的指针 | | window | 参数是一个NativeWindow的结构体实例的指针 |
**自从:**
8
### OH_NativeWindow_DestroyNativeWindowBuffer() ### OH_NativeWindow_DestroyNativeWindowBuffer()
``` ```
void OH_NativeWindow_DestroyNativeWindowBuffer (struct NativeWindowBuffer * buffer) void OH_NativeWindow_DestroyNativeWindowBuffer (struct NativeWindowBuffer * buffer)
``` ```
**Description:** **描述:**
将NativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该NativeWindowBuffer对象会被析构掉 将NativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该NativeWindowBuffer对象会被析构掉
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 | | buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 |
**自从:**
8
### OH_NativeWindow_GetBufferHandleFromNative() ### OH_NativeWindow_GetBufferHandleFromNative()
``` ```
BufferHandle* OH_NativeWindow_GetBufferHandleFromNative (struct NativeWindowBuffer * buffer) BufferHandle* OH_NativeWindow_GetBufferHandleFromNative (struct NativeWindowBuffer * buffer)
``` ```
**Description:** **描述:**
通过NativeWindowBuffer获取该buffer的BufferHandle指针 通过NativeWindowBuffer获取该buffer的BufferHandle指针
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 | | buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 |
**Returns:** **返回:**
BufferHandle 返回一个指针,指向BufferHandle的结构体实例 BufferHandle 返回一个指针,指向BufferHandle的结构体实例
**自从:**
8
### OH_NativeWindow_GetNativeObjectMagic() ### OH_NativeWindow_GetNativeObjectMagic()
``` ```
int32_t OH_NativeWindow_GetNativeObjectMagic (void * obj) int32_t OH_NativeWindow_GetNativeObjectMagic (void * obj)
``` ```
**Description:** **描述:**
获取NativeObject的MagicId 获取NativeObject的MagicId
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| obj | 参数是一个NativeWindow&nbsp;or&nbsp;NativeWindowBuffer的结构体实例的指针 | | obj | 参数是一个NativeWindow or NativeWindowBuffer的结构体实例的指针 |
**Returns:** **返回:**
MagicId 返回值为魔鬼数字,每个NativeObject唯一 MagicId 返回值为魔鬼数字,每个NativeObject唯一
**自从:**
8
### OH_NativeWindow_NativeObjectReference() ### OH_NativeWindow_NativeObjectReference()
``` ```
int32_t OH_NativeWindow_NativeObjectReference (void * obj) int32_t OH_NativeWindow_NativeObjectReference (void * obj)
``` ```
**Description:** **描述:**
增加一个NativeObject的引用计数 增加一个NativeObject的引用计数
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| obj | 参数是一个NativeWindow&nbsp;or&nbsp;NativeWindowBuffer的结构体实例的指针 | | obj | 参数是一个NativeWindow or NativeWindowBuffer的结构体实例的指针 |
**Returns:** **返回:**
GSError 返回值为错误码 GSError 返回值为错误码
**自从:**
8
### OH_NativeWindow_NativeObjectUnreference() ### OH_NativeWindow_NativeObjectUnreference()
``` ```
int32_t OH_NativeWindow_NativeObjectUnreference (void * obj) int32_t OH_NativeWindow_NativeObjectUnreference (void * obj)
``` ```
**Description:** **描述:**
减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉 减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| obj | 参数是一个NativeWindow&nbsp;or&nbsp;NativeWindowBuffer的结构体实例的指针 | | obj | 参数是一个NativeWindow or NativeWindowBuffer的结构体实例的指针 |
**Returns:** **返回:**
GSError GSError
**自从:**
8
### OH_NativeWindow_NativeWindowCancelBuffer() ### OH_NativeWindow_NativeWindowCancelBuffer()
``` ```
int32_t OH_NativeWindow_NativeWindowCancelBuffer (struct NativeWindow * window, struct NativeWindowBuffer * buffer ) int32_t OH_NativeWindow_NativeWindowCancelBuffer (struct NativeWindow * window, struct NativeWindowBuffer * buffer )
``` ```
**Description:** **描述:**
通过NativeWindow将之前申请出来的NativeWindowBuffer返还到Buffer队列中,供下次再申请 通过NativeWindow将之前申请出来的NativeWindowBuffer返还到Buffer队列中,供下次再申请
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| window | 参数是一个NativeWindow的结构体实例的指针 | | window | 参数是一个NativeWindow的结构体实例的指针 |
| buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 | | buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 |
**Returns:** **返回:**
GSError 返回值为错误码 GSError 返回值为错误码
**自从:**
8
### OH_NativeWindow_NativeWindowFlushBuffer() ### OH_NativeWindow_NativeWindowFlushBuffer()
``` ```
int32_t OH_NativeWindow_NativeWindowFlushBuffer (struct NativeWindow * window, struct NativeWindowBuffer * buffer, int fenceFd, Region region ) int32_t OH_NativeWindow_NativeWindowFlushBuffer (struct NativeWindow * window, struct NativeWindowBuffer * buffer, int fenceFd, Region region )
``` ```
**Description:** **描述:**
通过NativeWindow将生产好内容的NativeWindowBuffer放回到Buffer队列中,用以内容消费 通过NativeWindow将生产好内容的NativeWindowBuffer放回到Buffer队列中,用以内容消费
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| window | 参数是一个NativeWindow的结构体实例的指针 | | window | 参数是一个NativeWindow的结构体实例的指针 |
| buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 | | buffer | 参数是一个NativeWindowBuffer的结构体实例的指针 |
| fenceFd | 参数是一个文件描述符句柄,用以同步时序 | | fenceFd | 参数是一个文件描述符句柄,用以同步时序 |
| region | 参数表示一块脏区域,该区域有内容更新 | | region | 参数表示一块脏区域,该区域有内容更新 |
**Returns:** **返回:**
GSError 返回值为错误码 GSError 返回值为错误码
**自从:**
8
### OH_NativeWindow_NativeWindowHandleOpt() ### OH_NativeWindow_NativeWindowHandleOpt()
``` ```
int32_t OH_NativeWindow_NativeWindowHandleOpt (struct NativeWindow * window, int code, ... ) int32_t OH_NativeWindow_NativeWindowHandleOpt (struct NativeWindow * window, int code, ... )
``` ```
**Description:** **描述:**
设置/获取NativeWindow的属性,包括设置/获取宽高、内容格式等 设置/获取NativeWindow的属性,包括设置/获取宽高、内容格式等
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| window | 参数是一个NativeWindow的结构体实例的指针 | | window | 参数是一个NativeWindow的结构体实例的指针 |
| code | 操作码 | | code | 操作码 |
**Returns:** **返回:**
GSError 返回值为错误码 GSError 返回值为错误码
**自从:**
8
### OH_NativeWindow_NativeWindowRequestBuffer() ### OH_NativeWindow_NativeWindowRequestBuffer()
``` ```
int32_t OH_NativeWindow_NativeWindowRequestBuffer (struct NativeWindow * window, struct NativeWindowBuffer ** buffer, int * fenceFd ) int32_t OH_NativeWindow_NativeWindowRequestBuffer (struct NativeWindow * window, struct NativeWindowBuffer ** buffer, int * fenceFd )
``` ```
**Description:** **描述:**
通过NativeWindow对象申请一块NativeWindowBuffer,用以内容生产 通过NativeWindow对象申请一块NativeWindowBuffer,用以内容生产
\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
**Parameters:** **参数:**
| Name | Description | | Name | 描述 |
| -------- | -------- | | -------- | -------- |
| window | 参数是一个NativeWindow的结构体实例的指针 | | window | 参数是一个NativeWindow的结构体实例的指针 |
| buffer | 参数是一个NativeWindowBuffer的结构体实例的二级指针 | | buffer | 参数是一个NativeWindowBuffer的结构体实例的二级指针 |
| fenceFd | 参数是一个文件描述符句柄 | | fenceFd | 参数是一个文件描述符句柄 |
**Returns:** **返回:**
GSError 返回值为错误码 GSError 返回值为错误码
**自从:**
8
# OH_Drawing_BitmapFormat # OH_Drawing_BitmapFormat
## **Overview** ## 概述
**Related Modules:**
[Drawing](_drawing.md)
**Description:**
结构体用于描述位图像素的格式,包括颜色类型和透明度类型 结构体用于描述位图像素的格式,包括颜色类型和透明度类型
**Since:** **自从:**
8 8
**Version:** **相关模块:**
1.0 [Drawing](_drawing.md)
## **Summary** ## 汇总
### Public Attributes ### 成员变量
| Public&nbsp;Attribute&nbsp;Name | Description | | 成员变量名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| colorFormat | | | [colorFormat](#colorformat) | 描述位图像素的透明度分量 |
| alphaFormat | | | [alphaFormat](#alphaformat) | 描述位图像素的存储格式 |
## **Details**
## **Member Data** ## 结构体成员变量说明
### alphaFormat ### alphaFormat
...@@ -44,7 +35,7 @@ ...@@ -44,7 +35,7 @@
OH_Drawing_AlphaFormat OH_Drawing_BitmapFormat::alphaFormat OH_Drawing_AlphaFormat OH_Drawing_BitmapFormat::alphaFormat
``` ```
**Description:** **描述:**
描述位图像素的透明度分量 描述位图像素的透明度分量
...@@ -56,6 +47,6 @@ OH_Drawing_AlphaFormat OH_Drawing_BitmapFormat::alphaFormat ...@@ -56,6 +47,6 @@ OH_Drawing_AlphaFormat OH_Drawing_BitmapFormat::alphaFormat
OH_Drawing_ColorFormat OH_Drawing_BitmapFormat::colorFormat OH_Drawing_ColorFormat OH_Drawing_BitmapFormat::colorFormat
``` ```
**Description:** **描述:**
描述位图像素的存储格式 描述位图像素的存储格式
# OH_NativeBuffer
提供NativeBuffer功能
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**自从:**
9
## 汇总
### 文件
| 文件名称 | 描述 |
| -------- | -------- |
| [native_buffer.h](native__buffer_8h.md) | 定义获取和使用NativeBuffer的相关函数 |
### 结构体
| 结构体名称 | 描述 |
| -------- | -------- |
| [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) | OH_NativeBuffer的属性配置,用于申请新的OH_NativeBuffer实例或查询现有实例的相关属性 |
### 函数
| 函数名称 | 描述 |
| -------- | -------- |
| [OH_NativeBuffer_Alloc](#oh_nativebuffer_alloc) (const [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) \*config) | 通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例 |
| [OH_NativeBuffer_Reference](#oh_nativebuffer_reference) (OH_NativeBuffer \*buffer) | 将OH_NativeBuffer对象的引用计数加1 |
| [OH_NativeBuffer_Unreference](#oh_nativebuffer_unreference) (OH_NativeBuffer \*buffer) | 将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉 |
| [OH_NativeBuffer_GetConfig](#oh_nativebuffer_getconfig) (OH_NativeBuffer \*buffer, [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) \*config) | 用于获取OH_NativeBuffer的属性 |
| [OH_NativeBuffer_Map](#oh_nativebuffer_map) (OH_NativeBuffer \*buffer, void \*\*virAddr) | 将OH_NativeBuffer对应的ION内存映射到进程空间 |
| [OH_NativeBuffer_Unmap](#oh_nativebuffer_unmap) (OH_NativeBuffer \*buffer) | 将OH_NativeBuffer对应的ION内存从进程空间移除 |
| [OH_NativeBuffer_GetSeqNum](#oh_nativebuffer_getseqnum) (OH_NativeBuffer \*buffer) | 获取OH_NativeBuffer的序列号 |
## 详细描述
## 函数说明
### OH_NativeBuffer_Alloc()
```
OH_NativeBuffer* OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config * config)
```
**描述:**
通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| config | 参数是一个指向OH_NativeBuffer属性的指针,类型为OH_NativeBuffer_Config |
**返回:**
创建成功则返回一个指向OH_NativeBuffer结构体实例的指针,否则返回NULL
**自从:**
9
### OH_NativeBuffer_GetConfig()
```
void OH_NativeBuffer_GetConfig (OH_NativeBuffer * buffer, OH_NativeBuffer_Config * config )
```
**描述:**
用于获取OH_NativeBuffer的属性
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| buffer | 参数是一个指向OH_NativeBuffer实例的指针 |
| config | 参数是一个指向OH_NativeBuffer_Config的指针,用于接收OH_NativeBuffer的属性 |
**自从:**
9
### OH_NativeBuffer_GetSeqNum()
```
uint32_t OH_NativeBuffer_GetSeqNum (OH_NativeBuffer * buffer)
```
**描述:**
获取OH_NativeBuffer的序列号
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| buffer | 参数是一个指向OH_NativeBuffer实例的指针 |
**返回:**
返回对应OH_NativeBuffer的唯一序列号
**自从:**
9
### OH_NativeBuffer_Map()
```
int32_t OH_NativeBuffer_Map (OH_NativeBuffer * buffer, void ** virAddr )
```
**描述:**
将OH_NativeBuffer对应的ION内存映射到进程空间
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| buffer | 参数是一个指向OH_NativeBuffer实例的指针 |
| virAddr | 参数是一个二级指针,二级指针指向虚拟内存的地址 |
**返回:**
返回一个由GSError定义的int32_t类型的错误码
**自从:**
9
### OH_NativeBuffer_Reference()
```
int32_t OH_NativeBuffer_Reference (OH_NativeBuffer * buffer)
```
**描述:**
将OH_NativeBuffer对象的引用计数加1
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| buffer | 参数是一个指向OH_NativeBuffer实例的指针 |
**返回:**
返回一个由GSError定义的int32_t类型的错误码
**自从:**
9
### OH_NativeBuffer_Unmap()
```
int32_t OH_NativeBuffer_Unmap (OH_NativeBuffer * buffer)
```
**描述:**
将OH_NativeBuffer对应的ION内存从进程空间移除
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| buffer | 参数是一个指向OH_NativeBuffer实例的指针 |
**返回:**
返回一个由GSError定义的int32_t类型的错误码
**自从:**
9
### OH_NativeBuffer_Unreference()
```
int32_t OH_NativeBuffer_Unreference (OH_NativeBuffer * buffer)
```
**描述:**
将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉
@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
**参数:**
| Name | 描述 |
| -------- | -------- |
| buffer | 参数是一个指向OH_NativeBuffer实例的指针 |
**返回:**
返回一个由GSError定义的int32_t类型的错误码
**自从:**
9
# OH_NativeBuffer_Config
## 概述
OH_NativeBuffer的属性配置,用于申请新的OH_NativeBuffer实例或查询现有实例的相关属性。
**自从:**
9
**相关模块:**
[OH_NativeBuffer](_o_h___native_buffer.md)
## 汇总
### 成员变量
| 成员变量名称 | 描述 |
| -------- | -------- |
| width | 宽度(像素) |
| height | 高度(像素) |
| format | 像素格式 |
| usage | buffer的用途说明 |
# OH_NativeXComponent_Callback # OH_NativeXComponent_Callback
## **Overview** ## 概述
**Related Modules:** 注册surface生命周期和触摸事件回调。
[Native XComponent](_o_h___native_x_component.md) **自从:**
**Description:** 8
Registers the surface lifecycle and touch event callbacks. **相关模块:**
[Native XComponent](_o_h___native_x_component.md)
**Since:**
8
**Version:**
1.0
## **Summary** ## 汇总
### Public Attributes ### 成员变量
| Public&nbsp;Attribute&nbsp;Name | Description | | 成员变量名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OnSurfaceCreated](_o_h___native_x_component.md#ga8beefd4b2359680a3106b28227e47d00)&nbsp;)([OH_NativeXComponent](_o_h___native_x_component.md#ga0e676460ec145b81bdb07a97a368a5f1)&nbsp;\*component,&nbsp;void&nbsp;\*window) | | | [OnSurfaceCreated](_o_h___native_x_component.md#onsurfacecreated) )([OH_NativeXComponent](_o_h___native_x_component.md#oh_nativexcomponent) \*component, void \*window) | 创建surface时调用。 |
| [OnSurfaceChanged](_o_h___native_x_component.md#ga7d84244e13477d91cfdade8d9ff8565b)&nbsp;)([OH_NativeXComponent](_o_h___native_x_component.md#ga0e676460ec145b81bdb07a97a368a5f1)&nbsp;\*component,&nbsp;void&nbsp;\*window) | | | [OnSurfaceChanged](_o_h___native_x_component.md#onsurfacechanged) )([OH_NativeXComponent](_o_h___native_x_component.md#oh_nativexcomponent) \*component, void \*window) | 当surface改变时调用。 |
| [OnSurfaceDestroyed](_o_h___native_x_component.md#gad32bd08c749422d807ac87c558af6a44)&nbsp;)([OH_NativeXComponent](_o_h___native_x_component.md#ga0e676460ec145b81bdb07a97a368a5f1)&nbsp;\*component,&nbsp;void&nbsp;\*window) | | | [OnSurfaceDestroyed](_o_h___native_x_component.md#onsurfacedestroyed) )([OH_NativeXComponent](_o_h___native_x_component.md#oh_nativexcomponent) \*component, void \*window) | 当surface被破坏时调用。 |
| [DispatchTouchEvent](_o_h___native_x_component.md#ga3d40ca63aba381a63435f71f679e1f26)&nbsp;)([OH_NativeXComponent](_o_h___native_x_component.md#ga0e676460ec145b81bdb07a97a368a5f1)&nbsp;\*component,&nbsp;void&nbsp;\*window) | | | [DispatchTouchEvent](_o_h___native_x_component.md#dispatchtouchevent) )([OH_NativeXComponent](_o_h___native_x_component.md#oh_nativexcomponent) \*component, void \*window) | 当触摸事件被触发时调用。 |
# OH_NativeXComponent_MouseEvent
## 概述
鼠标事件。
**自从:**
9
**相关模块:**
[Native XComponent](_o_h___native_x_component.md)
## 汇总
### 成员变量
| 成员变量名称 | 描述 |
| -------- | -------- |
| [x](_o_h___native_x_component.md#x-33) | 点击触点相对于当前组件左上角的x轴坐标。 |
| [y](_o_h___native_x_component.md#y-33) | 点击触点相对于当前组件左上角的y轴坐标。 |
| [screenX](_o_h___native_x_component.md#screenx-33) | 点击触点相对于屏幕左上角的x轴坐标。 |
| [screenY](_o_h___native_x_component.md#screeny-33) | 点击触点相对于屏幕左上角的y轴坐标。 |
| [timestamp](_o_h___native_x_component.md#timestamp) | 当前鼠标事件的时间戳。 |
| [action](_o_h___native_x_component.md#action) | 当前鼠标事件动作。 |
| [button](_o_h___native_x_component.md#button) | 鼠标事件按键。 |
# OH_NativeXComponent_MouseEvent_Callback
## 概述
注册鼠标事件的回调。
**自从:**
9
**相关模块:**
[Native XComponent](_o_h___native_x_component.md)
## 汇总
### 成员变量
| 成员变量名称 | 描述 |
| -------- | -------- |
| [DispatchMouseEvent](_o_h___native_x_component.md#dispatchmouseevent) )([OH_NativeXComponent](_o_h___native_x_component.md#oh_nativexcomponent) \*component, void \*window) | 当鼠标事件被触发时调用。 |
| [DispatchHoverEvent](_o_h___native_x_component.md#dispatchhoverevent) )([OH_NativeXComponent](_o_h___native_x_component.md#oh_nativexcomponent) \*component, bool isHover) | 当悬停事件被触发时调用。 |
# OH_NativeXComponent_TouchEvent # OH_NativeXComponent_TouchEvent
## **Overview** ## 概述
**Related Modules:** 触摸事件。
**自从:**
8
**相关模块:**
[Native XComponent](_o_h___native_x_component.md) [Native XComponent](_o_h___native_x_component.md)
## **Summary** ## 汇总
### Public Attributes ### 成员变量
| Public&nbsp;Attribute&nbsp;Name | Description | | 成员变量名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [id](_o_h___native_x_component.md#gac986c10f386a0b55bd813caec06fe190)&nbsp;=&nbsp;0 | | | [id](_o_h___native_x_component.md#id-22) = 0 | 手指的唯一标识符。 |
| [screenX](_o_h___native_x_component.md#ga68fe9ff656e74ae14254523443d85bb1)&nbsp;=&nbsp;0.0 | | | [screenX](_o_h___native_x_component.md#screenx-23) = 0.0 | 触摸点相对于屏幕左边缘的x坐标。 |
| [screenY](_o_h___native_x_component.md#ga7696e0e1a81787400e187058a1e332f2)&nbsp;=&nbsp;0.0 | | | [screenY](_o_h___native_x_component.md#screeny-23) = 0.0 | 触摸点相对于屏幕上边缘的y坐标。 |
| [x](_o_h___native_x_component.md#ga9688a76d25bede284e36b7226ec8ad3a)&nbsp;=&nbsp;0.0 | | | [x](_o_h___native_x_component.md#x-23) = 0.0 | 触摸点相对于XComponent组件左边缘的x坐标。 |
| [y](_o_h___native_x_component.md#ga0136d85dae638fbe9baaa69cf67a9833)&nbsp;=&nbsp;0.0 | | | [y](_o_h___native_x_component.md#y-23) = 0.0 | 触摸点相对于XComponent组件上边缘的y坐标。 |
| [type](_o_h___native_x_component.md#ga22f67143e6acdefa5c7fd4ba23f7c2b6)&nbsp;=&nbsp;[OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN](_o_h___native_x_component.md#gga0a8c68dd460d7e801e7c0ff771f09182aff39d23c1412b3b110a19df4893651d3) | | | [type](_o_h___native_x_component.md#type-22) = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN | 触摸事件的触摸类型。 |
| [size](_o_h___native_x_component.md#ga723601b60610b546fbdaf29e87575ca2)&nbsp;=&nbsp;0.0 | | | [size](_o_h___native_x_component.md#size-22) = 0.0 | 指垫和屏幕之间的接触面积。 |
| [force](_o_h___native_x_component.md#ga7c0a450a47231bd55994a970b3750d3f)&nbsp;=&nbsp;0.0 | | | [force](_o_h___native_x_component.md#force-22) = 0.0 | 当前触摸事件的压力。 |
| [deviceId](_o_h___native_x_component.md#ga00660bb31b05cebe8964ba221c24f966)&nbsp;=&nbsp;0 | | | [deviceId](_o_h___native_x_component.md#deviceid) = 0 | 产生当前触摸事件的设备的ID。 |
| [timeStamp](_o_h___native_x_component.md#gadd872bda25d5af9327d12d06a70149fd)&nbsp;=&nbsp;0 | | | [timeStamp](_o_h___native_x_component.md#timestamp-22) = 0 | 当前触摸事件的时间戳。 |
| [touchPoints](_o_h___native_x_component.md#gab3514bf8d2fa3de8191d4898ee739053)&nbsp;[OH_MAX_TOUCH_POINTS_NUMBER] | | | [touchPoints](_o_h___native_x_component.md#touchpoints) [OH_MAX_TOUCH_POINTS_NUMBER] | 当前触摸点的数组。 |
| [numPoints](_o_h___native_x_component.md#gad8c19c6c2bbb367fa18fffa813e21cc6)&nbsp;=&nbsp;0 | | | [numPoints](_o_h___native_x_component.md#numpoints) = 0 | 当前接触点的数量。 |
# OH_NativeXComponent_TouchPoint # OH_NativeXComponent_TouchPoint
## **Overview** ## 概述
**Related Modules:** 触摸事件中触摸点的信息。
**自从:**
8
**相关模块:**
[Native XComponent](_o_h___native_x_component.md) [Native XComponent](_o_h___native_x_component.md)
## **Summary** ## 汇总
### Public Attributes ### 成员变量
| Public&nbsp;Attribute&nbsp;Name | Description | | 成员变量名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [id](_o_h___native_x_component.md#gafc435f3e8b5acf462b28bae69180d971)&nbsp;=&nbsp;0 | | | [id](_o_h___native_x_component.md#id-12) = 0 | 手指的唯一标识符。 |
| [screenX](_o_h___native_x_component.md#gae96f097ddffb119b824bcd9f59857ea4)&nbsp;=&nbsp;0.0 | | | [screenX](_o_h___native_x_component.md#screenx-13) = 0.0 | 触摸点相对于屏幕左边缘的x坐标。 |
| [screenY](_o_h___native_x_component.md#ga8fb126875104358f84e17ddd66dbbf60)&nbsp;=&nbsp;0.0 | | | [screenY](_o_h___native_x_component.md#screeny-13) = 0.0 | 触摸点相对于屏幕上边缘的y坐标。 |
| [x](_o_h___native_x_component.md#ga04e0e65a35a652d86460c82bf0ca02e3)&nbsp;=&nbsp;0.0 | | | [x](_o_h___native_x_component.md#x-13) = 0.0 | 触摸点相对于XComponent组件左边缘的x坐标。 |
| [y](_o_h___native_x_component.md#ga13d254769a362f049243505e84df8fa4)&nbsp;=&nbsp;0.0 | | | [y](_o_h___native_x_component.md#y-13) = 0.0 | 触摸点相对于XComponent组件上边缘的y坐标。 |
| [type](_o_h___native_x_component.md#gac2b852641112bce8de71f080a21a118a)&nbsp;=&nbsp;[OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN](_o_h___native_x_component.md#gga0a8c68dd460d7e801e7c0ff771f09182aff39d23c1412b3b110a19df4893651d3) | | | [type](_o_h___native_x_component.md#type-12) = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN | 触摸事件的触摸类型。 |
| [size](_o_h___native_x_component.md#ga9e5a0e118ab61a889126a985be7947dd)&nbsp;=&nbsp;0.0 | | | [size](_o_h___native_x_component.md#size-12) = 0.0 | 指垫和屏幕之间的接触面积。 |
| [force](_o_h___native_x_component.md#gaf3d4f92022552678d5d81d2396900595)&nbsp;=&nbsp;0.0 | | | [force](_o_h___native_x_component.md#force-12) = 0.0 | 当前触摸事件的压力。 |
| [timeStamp](_o_h___native_x_component.md#gad090e826a0e33a4054f468109a5a729d)&nbsp;=&nbsp;0 | | | [timeStamp](_o_h___native_x_component.md#timestamp-12) = 0 | 当前触摸事件的时间戳。 |
| [isPressed](_o_h___native_x_component.md#ga527c92deb88977ae842ffe6fee50d571)&nbsp;=&nbsp;false | | | [isPressed](_o_h___native_x_component.md#ispressed) = false | 当前点是否被按下。 |
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册