IDisplayComposer

概述

显示合成接口声明。

主要提供注册热插拔事件回调、获取显示设备能力集等功能,具体方法使用详见函数说明。

起始版本: 3.2

相关模块:Display

汇总

Public 成员函数

名称 描述
RegHotPlugCallback ([in] IHotPlugCallback cb) 注册热插拔事件回调。
SetClientBufferCacheCount ([in] unsigned int devId, [in] unsigned int count) 设置显示设备的客户端缓冲区缓存计数。
RegDisplayVBlankCallback ([in] unsigned int devId, [in] IVBlankCallback cb) 注册VBlank事件回调。
GetDisplayCapability ([in] unsigned int devId, [out] struct DisplayCapability info) 获取显示设备能力集。
GetDisplaySupportedModes ([in] unsigned int devId, [out] struct DisplayModeInfo[] modes) 获取显示设备支持的显示模式信息。
GetDisplayMode ([in] unsigned int devId, [out] unsigned int modeId) 获取显示设备当前的显示模式。
SetDisplayMode ([in] unsigned int devId, [in] unsigned int modeId) 设置显示设备的显示模式。
GetDisplayPowerStatus ([in] unsigned int devId, [out] enum DispPowerStatus status) 获取显示设备当前的电源状态。
SetDisplayPowerStatus ([in] unsigned int devId, [in] enum DispPowerStatus status) 设置显示设备当前的电源状态。
GetDisplayBacklight ([in] unsigned int devId, [out] unsigned int level) 获取显示设备当前的背光值。
SetDisplayBacklight ([in] unsigned int devId, [in] unsigned int level) 设置显示设备当前的背光值。
SetDisplayVsyncEnabled ([in] unsigned int devId, [in] boolean enabled) 使能垂直同步信号。
CreateLayer ([in] unsigned int devId, [in] struct LayerInfo layerInfo, [in] unsigned int cacheCount, [out] unsigned int layerId) 打开图层。
DestroyLayer ([in] unsigned int devId, [in] unsigned int layerId) 在指定的显示设备上打开图层。
SetDisplayClientCrop ([in] unsigned int devId, [in] struct IRect rect) 设置显示设备的裁剪区域。
GetDisplayReleaseFence ([in] unsigned int devId, [out] unsigned int[] layers, [out] HdifdParcelable[] fences) 获取显示图层fence。
CreateVirtualDisplay ([in] unsigned int width, [in] unsigned int height, [out] int format, [out] unsigned int devId) 创建虚拟显示设备。
DestroyVirtualDisplay ([in] unsigned int devId) 销毁虚拟显示设备。
SetVirtualDisplayBuffer ([in] unsigned int devId, [in] NativeBuffer buffer, [in] HdifdParcelable fence) 设置虚拟屏的输出缓存。
SetDisplayProperty ([in] unsigned int devId, [in] unsigned int id, [in] unsigned long value) 设置显示设备属性值。
GetDisplayProperty ([in] unsigned int devId, [in] unsigned int id, [out] unsigned long value) 获取显示设备属性值。
InitCmdRequest ([in] SharedMemQueue< int > request)
CmdRequest ([in] unsigned int inEleCnt, [in] struct HdifdInfo[] inFds, [out] unsigned int outEleCnt, [out] struct HdifdInfo[] outFds)
GetCmdReply ([out] SharedMemQueue< int > reply)

成员函数说明

CmdRequest()

IDisplayComposer::CmdRequest ([in] unsigned int inEleCnt, [in] struct HdifdInfo[] inFds, [out] unsigned int outEleCnt, [out] struct HdifdInfo[] outFds )

CreateLayer()

IDisplayComposer::CreateLayer ([in] unsigned int devId, [in] struct LayerInfo layerInfo, [in] unsigned int cacheCount, [out] unsigned int layerId )

描述 打开图层。

GUI在使用图层时,需要先根据图层信息打开图层,打开图层成功可获得图层ID,根据图层ID使用图层各接口。

起始版本: 3.2

参数:

名称 描述
devId 显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备,即取值范围0~4。
layerInfo 图层信息,上层GUI打开图层时需传递图层信息,包括图层类型,图层大小,像素格式等信息。
layerId 图层ID,打开图层成功后返回给GUI的图层ID,用于标识唯一的图层。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

参见:

CloseLayer

CreateVirtualDisplay()

IDisplayComposer::CreateVirtualDisplay ([in] unsigned int width, [in] unsigned int height, [out] int format, [out] unsigned int devId )

描述 创建虚拟显示设备。

该接口用于创建一个虚拟显示设备。

起始版本: 3.2

参数:

名称 描述
width 指定显示设备的像素宽度。
height 指定显示设备的像素高度。
format 指定显示设备的像素格式。 详情参考PixelFormat,接口实现层可以根据硬件需求,修改format并返回给图形服务。
devId 用于接口层返回创建的设备ID。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

DestroyLayer()

IDisplayComposer::DestroyLayer ([in] unsigned int devId, [in] unsigned int layerId )

描述 在指定的显示设备上打开图层。

在 GUI 上使用图层之前,必须根据图层信息打开图层。在图层 打开后,可以获取图层 ID,然后根据图层 ID 使用其他功能。

起始版本: 3.2

参数:

名称 描述
devId:显示设备的ID。取值范围为 0 到 4,其中 0 表示第一个显示设备,4 表示最后一个显示设备。
layerId 指示指向唯一标识层的层 ID 的指针。返回图层 ID到图层成功打开后添加到 GUI。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

DestroyVirtualDisplay()

IDisplayComposer::DestroyVirtualDisplay ([in] unsigned int devId)

描述 销毁虚拟显示设备。

该接口用于销毁指定的虚拟显示设备。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetCmdReply()

IDisplayComposer::GetCmdReply ([out] SharedMemQueue< int > reply)

GetDisplayBacklight()

IDisplayComposer::GetDisplayBacklight ([in] unsigned int devId, [out] unsigned int level )

描述 获取显示设备当前的背光值。

图形服务可以通过该接口获取设置显示设备的背光值。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
level 保存对应设备的背光值,由接口实现层进行写入。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetDisplayCapability()

IDisplayComposer::GetDisplayCapability ([in] unsigned int devId, [out] struct DisplayCapability info )

描述 获取显示设备能力集。

图形服务可以通过该接口获取显示设备具备哪些显示能力。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
info 设备支持的能力集信息,详情参考 DisplayCapability

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetDisplayMode()

IDisplayComposer::GetDisplayMode ([in] unsigned int devId, [out] unsigned int modeId )

描述 获取显示设备当前的显示模式。

图形服务可以通过该接口获取显示设备当前的显示模式,该模式由接口实现层进行数据的写入。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
modeId 存放当前设备的显示模式ID。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetDisplayPowerStatus()

IDisplayComposer::GetDisplayPowerStatus ([in] unsigned int devId, [out] enum DispPowerStatus status )

描述 获取显示设备当前的电源状态。

图形服务可以通过该接口获取设置显示设备的电源状态,该电源状态由接口实现层进行状态的写入。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
status 保存对应设备的电源状态,具体电源状态查看DispPowerStatus

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetDisplayProperty()

IDisplayComposer::GetDisplayProperty ([in] unsigned int devId, [in] unsigned int id, [out] unsigned long value )

描述 获取显示设备属性值。

图形服务可以通过该接口获取显示设备具体的属性值。

起始版本: 3.2

参数:

名称 描述
devId 指示需要操作的设备ID。
id 由接口{@Link GetDisplayCapability}返回的属性ID。
value 属性ID对应的属性值,由接口实现层写入。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetDisplayReleaseFence()

IDisplayComposer::GetDisplayReleaseFence ([in] unsigned int devId, [out] unsigned int[] layers, [out] HdifdParcelable[] fences )

描述 获取显示图层fence。

图形服务在调用接口Commit后,需要通过该接口获取图层的fence信息。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
layers 图层首地址,指向图层数组的首地址。
fences fence首地址,指向fence数组的首地址。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

GetDisplaySupportedModes()

IDisplayComposer::GetDisplaySupportedModes ([in] unsigned int devId, [out] struct DisplayModeInfo[] modes )

描述 获取显示设备支持的显示模式信息。

图形服务可以通过该接口获取到显示设备支持哪些显示模式。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
modes 设备支持的所有模式信息,包括所有能支持的分辨率和刷新率,每一个模式实现层都有一个ID与之对应,在获取当前模式 和设置当前模式时都会使用到,详情参考 DisplayModeInfo

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

InitCmdRequest()

IDisplayComposer::InitCmdRequest ([in] SharedMemQueue< int > request)

RegDisplayVBlankCallback()

IDisplayComposer::RegDisplayVBlankCallback ([in] unsigned int devId, [in] IVBlankCallback cb )

描述 注册VBlank事件回调。

注册VBlank事件回调,当有VBlank事件发生时接口实现层需要回调注册的接口。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
cb VBlank事件回调实例,当有VBlank事件发生时并且DisplayVsync处于Enable状态,接口实现层需要通过该实例通知图形服务。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

RegHotPlugCallback()

IDisplayComposer::RegHotPlugCallback ([in] IHotPlugCallback cb)

描述 注册热插拔事件回调。

注册热插拔事件回调,当有热插拔事件发生时接口实现层需要回调注册的接口,通过该实例通知图形服务。

起始版本: 3.2

参数:

名称 描述
cb 热插拔事件回调实例。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetClientBufferCacheCount()

IDisplayComposer::SetClientBufferCacheCount ([in] unsigned int devId, [in] unsigned int count )

描述 设置显示设备的客户端缓冲区缓存计数。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
count 客户端缓冲区缓存计数。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetDisplayBacklight()

IDisplayComposer::SetDisplayBacklight ([in] unsigned int devId, [in] unsigned int level )

描述 设置显示设备当前的背光值。

图形服务可以通过该接口获取设置显示设备的背光值。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
level 表示需要设置的背光值,背光值范围0~255。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetDisplayClientCrop()

IDisplayComposer::SetDisplayClientCrop ([in] unsigned int devId, [in] struct IRect rect )

描述 设置显示设备的裁剪区域。

图形服务可以通过该接口设置显示设备的ClientBuffer的裁剪区域,裁剪区域不能超过ClientBuffer的大小。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
rect ClientBuffer的裁剪区域。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetDisplayMode()

IDisplayComposer::SetDisplayMode ([in] unsigned int devId, [in] unsigned int modeId )

描述 设置显示设备的显示模式。

图形服务可以通过该接口获取设置显示设备的显示模式。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
modeId 指明需要设置的模式ID,接口实现层将设备切换到该参数对应的显示模式。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetDisplayPowerStatus()

IDisplayComposer::SetDisplayPowerStatus ([in] unsigned int devId, [in] enum DispPowerStatus status )

描述 设置显示设备当前的电源状态。

图形服务可以通过该接口获取设置显示设备的电源状态。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
status 表示需要设置的电源状态,具体电源状态查看DispPowerStatus

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetDisplayProperty()

IDisplayComposer::SetDisplayProperty ([in] unsigned int devId, [in] unsigned int id, [in] unsigned long value )

描述 设置显示设备属性值。

图形服务可以通过该接口设置显示设备具体的属性值。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
id 由接口GetDisplayCapability返回属性ID。
value 需要设置的属性值。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetDisplayVsyncEnabled()

IDisplayComposer::SetDisplayVsyncEnabled ([in] unsigned int devId, [in] boolean enabled )

描述 使能垂直同步信号。

图形服务可以通过该接口使能或取消垂直同步信号,当有垂直同步信号产生时,接口实现层需要回调图形服务通过RegDisplayVBlankCallback注册的 VBlankCallback 回调。 图形服务在需要刷新显示时需要使能垂直同步信号,在收到VBlankCallback事件回调时再进行合成送显,不需要刷新显示时需要取消垂直同步信号。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
enabled 使能状态,true表示能,false表示不能。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode

SetVirtualDisplayBuffer()

IDisplayComposer::SetVirtualDisplayBuffer ([in] unsigned int devId, [in] NativeBuffer buffer, [in] HdifdParcelable fence )

描述 设置虚拟屏的输出缓存。

该接口用于设置虚拟屏输出缓存,接口实现层需要将虚拟屏的输出放入到该缓存中,接口实现层需要等待同步栅栏发送信号后才能使用缓存。

起始版本: 3.2

参数:

名称 描述
devId 表示需要操作的设备ID。
buffer 输出缓存。
fence 同步栅栏。

返回:

DISPLAY_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看DispErrCode