1# native_display_soloist.h
2
3
4## Overview
5
6The **native_display_soloist.h** file declares the functions for obtaining and using native display soloist.
7
8**File to include**: <native_display_soloist/native_display_soloist.h>
9
10**System capability**: SystemCapability.Graphic.Graphic2D.HyperGraphicManager
11
12**Library**: libnative_display_soloist.so
13
14**Since**: 12
15
16**Related module**: [NativeDisplaySoloist](_native_display_soloist.md)
17
18
19## Summary
20
21
22### Structs
23
24| Name| Description|
25| -------- | -------- |
26| struct  [DisplaySoloist_ExpectedRateRange](_display_soloist___expected_rate_range.md) | Describes the expected frame rate range.|
27
28
29### Types
30
31| Name| Description|
32| -------- | -------- |
33| typedef struct [OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist)  [OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist) | Provides the declaration of an **OH_DisplaySoloist** struct.|
34| typedef void(\* [OH_DisplaySoloist_FrameCallback](_native_display_soloist.md#oh_displaysoloist_framecallback)) (long long timestamp, long long targetTimestamp, void \*data) | Defines the pointer to an OH_DisplaySoloist callback function.|
35| typedef struct [DisplaySoloist_ExpectedRateRange](_display_soloist___expected_rate_range.md)  [DisplaySoloist_ExpectedRateRange](_native_display_soloist.md#displaysoloist_expectedraterange) | Defines a struct for the expected frame rate range.|
36
37
38### Functions
39
40| Name| Description|
41| -------- | -------- |
42| [OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist) \* [OH_DisplaySoloist_Create](_native_display_soloist.md#oh_displaysoloist_create) (bool useExclusiveThread) | Creates an **OH_DisplaySoloist** instance. A new **OH_DisplaySoloist** instance is created each time this API is called.|
43| int32_t [OH_DisplaySoloist_Destroy](_native_display_soloist.md#oh_displaysoloist_destroy) ([OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist) \*displaySoloist) | Destroys an **OH_DisplaySoloist** object and reclaims the memory occupied.|
44| int32_t [OH_DisplaySoloist_Start](_native_display_soloist.md#oh_displaysoloist_start) ([OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist) \*displaySoloist, [OH_DisplaySoloist_FrameCallback](_native_display_soloist.md#oh_displaysoloist_framecallback) callback, void \*data) | Sets a callback function for each frame. The callback function is triggered each time a VSync signal arrives.|
45| int32_t [OH_DisplaySoloist_Stop](_native_display_soloist.md#oh_displaysoloist_stop) ([OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist) \*displaySoloist) | Stops requesting the next VSync signal and triggering the callback function.|
46| int32_t [OH_DisplaySoloist_SetExpectedFrameRateRange](_native_display_soloist.md#oh_displaysoloist_setexpectedframeraterange) ([OH_DisplaySoloist](_native_display_soloist.md#oh_displaysoloist) \*displaySoloist, [DisplaySoloist_ExpectedRateRange](_display_soloist___expected_rate_range.md) \*range) | Sets the expected frame rate range.|
47