!2342 bugfix with focusable and backgroundImage

Merge pull request !2342 from lee/master
This commit is contained in:
openharmony_ci
2022-04-27 03:00:26 +00:00
committed by Gitee
2 changed files with 17 additions and 2 deletions
@@ -658,6 +658,11 @@ RefPtr<Component> ViewStackProcessor::WrapComponents()
coverageComponent->AppendChild(menuComponent);
}
}
auto focusableComponent = AceType::DynamicCast<FocusableComponent>(components[idx - 1]);
if (focusableComponent) {
Component::MergeRSNode(components[idx], focusableComponent);
}
}
auto component = components.front();
@@ -906,8 +906,18 @@ void RosenRenderBox::SetBackgroundPosition(const BackgroundImagePosition& positi
LOGE("set background position to rsNode failed, rsNode is null");
return;
}
rsNode->SetBgImagePositionX(position.GetSizeValueX());
rsNode->SetBgImagePositionY(position.GetSizeValueY());
if (position.GetSizeTypeX() == BackgroundImagePositionType::PX) {
rsNode->SetBgImagePositionX(position.GetSizeValueX());
} else {
rsNode->SetBgImagePositionX(position.GetSizeValueX() *
(paintSize_.Width() - rsNode->GetStagingProperties().GetBgImageWidth()) / PERCENT_TRANSLATE);
}
if (position.GetSizeTypeX() == BackgroundImagePositionType::PX) {
rsNode->SetBgImagePositionX(position.GetSizeValueX());
} else {
rsNode->SetBgImagePositionY(position.GetSizeValueY() *
(paintSize_.Height() - rsNode->GetStagingProperties().GetBgImageHeight()) / PERCENT_TRANSLATE);
}
}
void RosenRenderBox::SetShadow(const Shadow& shadow)