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