Lines Matching defs:node
99 for (auto& node : avoidAreaListenerNodes_) {
100 AvoidArea systemAvoidArea = GetAvoidAreaByType(node, AvoidAreaType::TYPE_SYSTEM);
101 UpdateAvoidAreaIfNeed(systemAvoidArea, node, AvoidAreaType::TYPE_SYSTEM);
155 void AvoidAreaController::UpdateOverlayWindowIfNeed(const sptr<WindowNode>& node,
161 node->GetWindowGravity(windowGravity, percent);
162 if (WindowHelper::IsOverlayWindow(node->GetWindowType()) &&
164 AvoidAreaType type = WindowHelper::IsSystemBarWindow(node->GetWindowType()) ?
175 if (avoidAreaListenerNodes_.find(node) == avoidAreaListenerNodes_.end()) {
176 WLOGD("window: %{public}u is not in avoidAreaListenerNodes, don't update avoid area.", node->GetWindowId());
182 AvoidArea systemAvoidArea = GetAvoidAreaByType(node, static_cast<AvoidAreaType>(type));
183 bool res = UpdateAvoidAreaIfNeed(systemAvoidArea, node, static_cast<AvoidAreaType>(type));
185 lastSoftInputKeyboardAreaUpdatedWindowId_ = node->GetWindowId();
191 bool AvoidAreaController::UpdateAvoidAreaIfNeed(const AvoidArea& avoidArea, const sptr<WindowNode>& node,
194 auto iter = lastUpdatedAvoidArea_.find(node->GetWindowId());
211 lastUpdatedAvoidArea_[node->GetWindowId()][avoidAreaType] = avoidArea;
212 node->GetWindowToken()->UpdateAvoidArea(new AvoidArea(avoidArea), avoidAreaType);
217 AvoidPosType AvoidAreaController::CalculateOverlayRect(const sptr<WindowNode>& node,
220 if (node->GetWindowId() == overlayNode->GetWindowId()) {
221 WLOGE("overlay not support self. windowId %{public}u", node->GetWindowId());
224 const Rect rect = node->GetWindowRect();
276 AvoidArea AvoidAreaController::GetAvoidAreaByType(const sptr<WindowNode>& node, AvoidAreaType avoidAreaType) const
279 if (node == nullptr) {
283 WindowMode windowMode = node->GetWindowMode();
294 return GetAvoidAreaSystemType(node);
297 return GetAvoidAreaKeyboardType(node);
300 sptr<CutoutInfo> cutoutInfo = DisplayManagerServiceInner::GetInstance().GetCutoutInfo(node->GetDisplayId());
313 auto rect = node->GetWindowRect();
327 AvoidArea AvoidAreaController::GetAvoidAreaSystemType(const sptr<WindowNode>& node) const
337 statusBarAvoidPosType = CalculateOverlayRect(node, iter.second, statusBarAvoidArea);
340 navigationBarAvoidPosType = CalculateOverlayRect(node, iter.second, navigationBarAvoidArea);
349 AvoidArea AvoidAreaController::GetAvoidAreaKeyboardType(const sptr<WindowNode>& node) const
355 if (callingWindowId != node->GetWindowId() && focusedWindow_ != node->GetWindowId()) {
357 node->GetWindowId(), focusedWindow_, callingWindowId);
361 AvoidPosType avoidPosType = CalculateOverlayRect(node, iter.second, avoidAreaRect);