!64 窗口变化时更新图层属性

Merge pull request !64 from Mupceet/add-window-layer
This commit is contained in:
openharmony_ci 2022-03-12 06:23:40 +00:00 committed by Gitee
commit b84773ca0b
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 18 additions and 0 deletions

View File

@ -49,6 +49,7 @@ public:
// test for ut to resize a window
void SetWindowSize(int windowId, Rect rect);
void UpdateWindowLayer(const sptr<Rosen::AccessibilityWindowInfo>& windowInfo);
std::map<int, AccessibilityWindowInfo> a11yWindows_ {};
int activeWindowId_ = INVALID_WINDOW_ID;

View File

@ -80,6 +80,7 @@ void AccessibilityWindowListener::OnWindowUpdate(const sptr<Rosen::Accessibility
default:
break;
}
winMgr.UpdateWindowLayer(windowInfo);
HILOG_DEBUG("winMgr.a11yWindows[%{public}d]", winMgr.a11yWindows_.size());
}
@ -287,5 +288,21 @@ void AccessibilityWindowInfoManager::SetWindowSize(int windowId, Rect rect)
}
}
}
void AccessibilityWindowInfoManager::UpdateWindowLayer(const sptr<Rosen::AccessibilityWindowInfo>& windowInfo)
{
HILOG_INFO("start");
int layer = 0;
for (auto& window : windowInfo->windowList_) {
auto it = a11yWindows_.find(window->wid_);
if (it == a11yWindows_.end()) {
HILOG_ERROR("The window(%{public}d) not in a11yWindows_", window->wid_);
layer++;
} else {
it->second.SetWindowLayer(layer);
layer++;
}
}
}
} // namespace Accessibility
} // namespace OHOS