external_window.h

Overview

The external_window.h file declares the functions for obtaining and using NativeWindow.

Since

8

Related Modules

NativeWindow

Summary

Structs

Name Description
Region Defines the rectangle (dirty region) where the content is to be updated in the local OHNativeWindow.
Region::Rect Describes a rectangle on the display.
OHHDRMetaData Defines the HDR metadata.
OHExtDataHandle Defines the extended data handle.

Types

Name Description
OHNativeWindow Provides the capability of accessing the OHNativeWindow.
OHNativeWindowBuffer Provides the capability of accessing the OHNativeWindowBuffer.
Region Defines the rectangle (dirty region) where the content is to be updated in the local OHNativeWindow.

Enums

Name Description
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
}
Enumerates the operation codes in the OH_NativeWindow_NativeWindowHandleOpt function.
OHScalingMode { OH_SCALING_MODE_FREEZE = 0, OH_SCALING_MODE_SCALE_TO_WINDOW, OH_SCALING_MODE_SCALE_CROP, OH_SCALING_MODE_NO_SCALE_CROP } Enumerates the scaling modes.
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
}
Enumerates the HDR metadata keys.

Functions

Name Description
OH_NativeWindow_CreateNativeWindow (void *pSurface) Creates an OHNativeWindow instance. A new OHNativeWindow instance is created each time this function is called.
OH_NativeWindow_DestroyNativeWindow (OHNativeWindow *window) Decreases the reference count of an OHNativeWindow instance by 1 and when the reference count reaches 0, destroys the instance.
OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer (void *pSurfaceBuffer) Creates an OHNativeWindowBuffer instance. A new OHNativeWindowBuffer instance is created each time this function is called.
OH_NativeWindow_DestroyNativeWindowBuffer (OHNativeWindowBuffer *buffer) Decreases the reference count of an OHNativeWindowBuffer instance by 1 and when the reference count reaches 0, destroys the instance.
OH_NativeWindow_NativeWindowRequestBuffer (OHNativeWindow *window, OHNativeWindowBuffer **buffer, int *fenceFd) Requests an OHNativeWindowBuffer through an OHNativeWindow instance for content production.
OH_NativeWindow_NativeWindowFlushBuffer (OHNativeWindow *window, OHNativeWindowBuffer *buffer, int fenceFd, Region region) Flushes the OHNativeWindowBuffer filled with the content to the buffer queue through an OHNativeWindow instance for content consumption.
OH_NativeWindow_NativeWindowAbortBuffer (OHNativeWindow *window, OHNativeWindowBuffer *buffer) Returns the OHNativeWindowBuffer to the buffer queue through an OHNativeWindow instance, without filling in any content. The OHNativeWindowBuffer can be used for a new request.
OH_NativeWindow_NativeWindowHandleOpt (OHNativeWindow*window, int code,...) Sets or obtains the attributes of an OHNativeWindow, including the width, height, and content format.
OH_NativeWindow_GetBufferHandleFromNative (OHNativeWindowBuffer *buffer) Obtains the pointer to a BufferHandle of an OHNativeWindowBuffer instance.
OH_NativeWindow_NativeObjectReference (void *obj) Adds the reference count of a native object.
OH_NativeWindow_NativeObjectUnreference (void *obj) Decreases the reference count of a native object and when the reference count reaches 0, destroys this object.
OH_NativeWindow_GetNativeObjectMagic (void *obj) Obtains the magic ID of a native object.
OH_NativeWindow_NativeWindowSetScalingMode (OHNativeWindownative_window.md#ohscalingmode) scalingMode) Sets a scaling mode for an OHNativeWindow.
OH_NativeWindow_NativeWindowSetMetaData (OHNativeWindow *window, uint32_t sequence, int32_t size, const OHHDRMetaData *metaData) Sets metadata for an OHNativeWindow.
OH_NativeWindow_NativeWindowSetMetaDataSet (OHNativeWindow *window, uint32_t sequence, OHHDRMetadataKey key, int32_t size, const uint8_t *metaData) Sets a metadata set for an OHNativeWindow.
OH_NativeWindow_NativeWindowSetTunnelHandle (OHNativeWindow *window, const OHExtDataHandle *handle) Sets a tunnel handle to an OHNativeWindow.