support colorgamut for dms, adapter to render service.

Change-Id: I66ef16c675e78c7d690f702d62be4dd126f66368
Signed-off-by: fanby01 <yaojian7@huawei.com>
This commit is contained in:
fanby01
2022-02-12 16:57:52 +08:00
parent 35db397d4d
commit c9e5330811
16 changed files with 193 additions and 51 deletions
@@ -487,6 +487,61 @@ void AbstractScreenController::OnScreenRotate(ScreenId dmsId, Rotation before, R
}
}
DMError AbstractScreenController::GetScreenSupportedColorGamuts(ScreenId screenId,
std::vector<ScreenColorGamut>& colorGamuts)
{
sptr<AbstractScreen> screen = GetAbstractScreen(screenId);
if (screen == nullptr) {
return DMError::DM_ERROR_INVALID_PARAM;
}
return screen->GetScreenSupportedColorGamuts(colorGamuts);
}
DMError AbstractScreenController::GetScreenColorGamut(ScreenId screenId, ScreenColorGamut& colorGamut)
{
sptr<AbstractScreen> screen = GetAbstractScreen(screenId);
if (screen == nullptr) {
return DMError::DM_ERROR_INVALID_PARAM;
}
return screen->GetScreenColorGamut(colorGamut);
}
DMError AbstractScreenController::SetScreenColorGamut(ScreenId screenId, int32_t colorGamutIdx)
{
sptr<AbstractScreen> screen = GetAbstractScreen(screenId);
if (screen == nullptr) {
return DMError::DM_ERROR_INVALID_PARAM;
}
return screen->SetScreenColorGamut(colorGamutIdx);
}
DMError AbstractScreenController::GetScreenGamutMap(ScreenId screenId, ScreenGamutMap& gamutMap)
{
sptr<AbstractScreen> screen = GetAbstractScreen(screenId);
if (screen == nullptr) {
return DMError::DM_ERROR_INVALID_PARAM;
}
return screen->GetScreenGamutMap(gamutMap);
}
DMError AbstractScreenController::SetScreenGamutMap(ScreenId screenId, ScreenGamutMap gamutMap)
{
sptr<AbstractScreen> screen = GetAbstractScreen(screenId);
if (screen == nullptr) {
return DMError::DM_ERROR_INVALID_PARAM;
}
return screen->SetScreenGamutMap(gamutMap);
}
DMError AbstractScreenController::SetScreenColorTransform(ScreenId screenId)
{
sptr<AbstractScreen> screen = GetAbstractScreen(screenId);
if (screen == nullptr) {
return DMError::DM_ERROR_INVALID_PARAM;
}
return screen->SetScreenColorTransform();
}
bool AbstractScreenController::IsScreenGroup(ScreenId screenId) const
{
std::lock_guard<std::recursive_mutex> lock(mutex_);