• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_display_soloist.h
2<!--Kit: ArkGraphics 2D-->
3<!--Subsystem: Graphics-->
4<!--Owner: @hudi33-->
5<!--Designer: @hudi33-->
6<!--Tester: @zhaoxiaoguang2-->
7<!--Adviser: @ge-yafang-->
8
9## 概述
10
11定义获取和使用NativeDisplaySoloist的相关函数。
12
13**引用文件:** <native_display_soloist/native_display_soloist.h>
14
15**库:** libnative_display_soloist.so
16
17**系统能力:** SystemCapability.Graphic.Graphic2D.HyperGraphicManager
18
19**起始版本:** 12
20
21**相关模块:** [NativeDisplaySoloist](capi-nativedisplaysoloist.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [DisplaySoloist_ExpectedRateRange](capi-nativedisplaysoloist-displaysoloist-expectedraterange.md) | DisplaySoloist_ExpectedRateRange | 提供期望帧率范围结构体。 |
30| [OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md) | OH_DisplaySoloist | 提供OH_DisplaySoloist结构体声明。 |
31
32### 函数
33
34| 名称 | typedef关键字 | 描述 |
35| -- | -- | -- |
36| [typedef void (\*OH_DisplaySoloist_FrameCallback)(long long timestamp, long long targetTimestamp, void* data)](#oh_displaysoloist_framecallback) | OH_DisplaySoloist_FrameCallback | OH_DisplaySoloist回调函数类型。 |
37| [OH_DisplaySoloist* OH_DisplaySoloist_Create(bool useExclusiveThread)](#oh_displaysoloist_create) | - | 创建一个OH_DisplaySoloist实例,每次调用都会产生一个新的实例。 |
38| [int32_t OH_DisplaySoloist_Destroy(OH_DisplaySoloist* displaySoloist)](#oh_displaysoloist_destroy) | - | 销毁OH_DisplaySoloist实例并回收对象占用的内存。 |
39| [int32_t OH_DisplaySoloist_Start(OH_DisplaySoloist* displaySoloist, OH_DisplaySoloist_FrameCallback callback, void* data)](#oh_displaysoloist_start) | - | 设置每帧回调函数,每次VSync信号到来时启动每帧回调。 |
40| [int32_t OH_DisplaySoloist_Stop(OH_DisplaySoloist* displaySoloist)](#oh_displaysoloist_stop) | - | 停止请求下一次VSync信号,并停止调用回调函数callback。 |
41| [int32_t OH_DisplaySoloist_SetExpectedFrameRateRange(OH_DisplaySoloist* displaySoloist, DisplaySoloist_ExpectedRateRange* range)](#oh_displaysoloist_setexpectedframeraterange) | - | 设置VSync期望帧率范围。 |
42
43## 函数说明
44
45### OH_DisplaySoloist_FrameCallback()
46
47```
48typedef void (*OH_DisplaySoloist_FrameCallback)(long long timestamp, long long targetTimestamp, void* data)
49```
50
51**描述**
52
53OH_DisplaySoloist回调函数类型。
54
55**起始版本:** 12
56
57
58**参数:**
59
60| 参数项 | 描述 |
61| -- | -- |
62| long long timestamp | 当前帧VSync时间戳。 |
63|  long long targetTimestamp | 预期的下一帧VSync时间戳。 |
64|  void* data | 用户自定义数据。 |
65
66### OH_DisplaySoloist_Create()
67
68```
69OH_DisplaySoloist* OH_DisplaySoloist_Create(bool useExclusiveThread)
70```
71
72**描述**
73
74创建一个OH_DisplaySoloist实例,每次调用都会产生一个新的实例。
75
76**起始版本:** 12
77
78
79**参数:**
80
81| 参数项 | 描述 |
82| -- | -- |
83| bool useExclusiveThread | 表示此OH_DisplaySoloist实例是否是独占线程。true表示独占一个线程,false表示共享线程。 |
84
85**返回:**
86
87| 类型 | 说明 |
88| -- | -- |
89| OH_DisplaySoloist* | 返回一个指向[OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)实例的指针,如果返回空表示执行失败,可能的原因是内存不足。 |
90
91### OH_DisplaySoloist_Destroy()
92
93```
94int32_t OH_DisplaySoloist_Destroy(OH_DisplaySoloist* displaySoloist)
95```
96
97**描述**
98
99销毁OH_DisplaySoloist实例并回收对象占用的内存。
100
101**起始版本:** 12
102
103
104**参数:**
105
106| 参数项 | 描述 |
107| -- | -- |
108| [OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)* displaySoloist | 一个指向[OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)实例的指针。 |
109
110**返回:**
111
112| 类型 | 说明 |
113| -- | -- |
114| int32_t | 返回值为0表示执行成功,-1表示执行失败。 |
115
116### OH_DisplaySoloist_Start()
117
118```
119int32_t OH_DisplaySoloist_Start(OH_DisplaySoloist* displaySoloist, OH_DisplaySoloist_FrameCallback callback, void* data)
120```
121
122**描述**
123
124设置每帧回调函数,每次VSync信号到来时启动每帧回调。
125
126**起始版本:** 12
127
128
129**参数:**
130
131| 参数项 | 描述 |
132| -- | -- |
133| [OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)* displaySoloist | 一个指向[OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)实例的指针。 |
134| [OH_DisplaySoloist_FrameCallback](#oh_displaysoloist_framecallback) callback | 表示下一次VSync信号到来时执行的回调函数类型。 |
135| void* data | 一个指向用户自定义数据结构的指针,类型是void。 |
136
137**返回:**
138
139| 类型 | 说明 |
140| -- | -- |
141| int32_t | 返回值为0表示执行成功,-1表示执行失败。 |
142
143### OH_DisplaySoloist_Stop()
144
145```
146int32_t OH_DisplaySoloist_Stop(OH_DisplaySoloist* displaySoloist)
147```
148
149**描述**
150
151停止请求下一次VSync信号,并停止调用回调函数callback。
152
153**起始版本:** 12
154
155
156**参数:**
157
158| 参数项 | 描述 |
159| -- | -- |
160| [OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)* displaySoloist | 一个指向[OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)实例的指针。 |
161
162**返回:**
163
164| 类型 | 说明 |
165| -- | -- |
166| int32_t | 返回值为0表示执行成功,-1表示执行失败。 |
167
168### OH_DisplaySoloist_SetExpectedFrameRateRange()
169
170```
171int32_t OH_DisplaySoloist_SetExpectedFrameRateRange(OH_DisplaySoloist* displaySoloist, DisplaySoloist_ExpectedRateRange* range)
172```
173
174**描述**
175
176设置VSync期望帧率范围。
177
178**起始版本:** 12
179
180
181**参数:**
182
183| 参数项 | 描述 |
184| -- | -- |
185| [OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)* displaySoloist | 一个指向[OH_DisplaySoloist](capi-nativedisplaysoloist-oh-displaysoloist.md)实例的指针。 |
186| [DisplaySoloist_ExpectedRateRange](capi-nativedisplaysoloist-displaysoloist-expectedraterange.md)* range | 一个指向期望帧率范围[DisplaySoloist_ExpectedRateRange](capi-nativedisplaysoloist-displaysoloist-expectedraterange.md)实例的指针。 |
187
188**返回:**
189
190| 类型 | 说明 |
191| -- | -- |
192| int32_t | 返回值为0表示执行成功,-1表示执行失败。 |
193
194
195