Rect HierarchyTreeControlNode::GetRect() const { Rect rect; if (uiObject && dynamic_cast<UIScrollView*>(uiObject)) { // We are Scroll View, and our child controls should not be taken into account // while calculating the rect. See pls DF-1844 and DF-2704. UIScrollView* scrollView = dynamic_cast<UIScrollView*>(uiObject); return Rect(scrollView->GetPosition(true), scrollView->GetSize()); } if (uiObject) rect = uiObject->GetRect(true); const HIERARCHYTREENODESLIST& childs = GetChildNodes(); for (HIERARCHYTREENODESLIST::const_iterator iter = childs.begin(); iter != childs.end(); ++iter) { const HierarchyTreeControlNode* control = dynamic_cast<const HierarchyTreeControlNode*>(*iter); if (!control) continue; Rect controlRect = control->GetRect(); rect = rect.Combine(controlRect); } return rect; }
void HierarchyTreeScreenNode::CombineRectWithChild(Rect& rect) const { const HIERARCHYTREENODESLIST& childs = GetChildNodes(); for (HIERARCHYTREENODESLIST::const_iterator iter = childs.begin(); iter != childs.end(); ++iter) { const HierarchyTreeControlNode* control = dynamic_cast<const HierarchyTreeControlNode*>(*iter); if (!control) continue; Rect controlRect = control->GetRect(); rect = rect.Combine(controlRect); } }
Rect HierarchyTreeControlNode::GetRect() const { Rect rect; if (uiObject) rect = uiObject->GetRect(true); const HIERARCHYTREENODESLIST& childs = GetChildNodes(); for (HIERARCHYTREENODESLIST::const_iterator iter = childs.begin(); iter != childs.end(); ++iter) { const HierarchyTreeControlNode* control = dynamic_cast<const HierarchyTreeControlNode*>(*iter); if (!control) continue; Rect controlRect = control->GetRect(); rect = rect.Combine(controlRect); } return rect; }
void HeightmapEditorSystem::AddRectToAccumulator(Rect& accumulator, const Rect& rect) { accumulator = accumulator.Combine(rect); }