void Node::bringToFront(void)
{
auto parent = this->getParent();
if (parent != nullptr && parent->getChildrenCount() >= 2) { auto& siblings = parent->getChildren(); auto last = *siblings.rbegin();
auto topOrderOfArrival = last->getOrderOfArrival();
auto topLocalZOrder = last->getLocalZOrder(); for (size_t idx = siblings.size() - 1; idx > 0; --idx)
{
auto sibling = siblings.at(idx);
if (sibling != this) {
sibling->setOrderOfArrival(siblings.at(idx - 1)->getOrderOfArrival());
sibling->_setLocalZOrder(siblings.at(idx - 1)->getLocalZOrder());
}
else {
break;
}
} this->setOrderOfArrival(topOrderOfArrival);
this->_setLocalZOrder(topLocalZOrder); std::sort(std::begin(siblings), std::end(siblings), nodeComparisonLess);
_eventDispatcher->setDirtyForNode(this);
}
} void Node::sendToBack(void)
{
auto parent = this->getParent();
if (parent != nullptr && parent->getChildrenCount() >= 2) { auto& siblings = parent->getChildren();
auto start = *siblings.begin();
auto bottomOrderOfArrival = start->getOrderOfArrival();
auto bottomLocalZOrder = start->getLocalZOrder(); for (size_t idx = 0; idx < siblings.size() - 1; ++idx)
{
auto c = siblings.at(idx);
if (c != this) {
c->setOrderOfArrival(siblings.at(idx + 1)->getOrderOfArrival());
c->_setLocalZOrder(siblings.at(idx + 1)->getLocalZOrder());
}
else {
break;
}
} this->setOrderOfArrival(bottomOrderOfArrival);
this->_setLocalZOrder(bottomLocalZOrder); std::sort(std::begin(siblings), std::end(siblings), nodeComparisonLess);
_eventDispatcher->setDirtyForNode(this);
}
}

最新文章

  1. 异步 HttpContext.Current 为空null 另一种解决方法
  2. Postgresql 迁移随笔一
  3. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要三
  4. 如何在elasticsearch中查看Logstash打到elasticsearch的数据
  5. Android HttpURLConnection Post 参数 (https)
  6. (JavaScript 2.0: The Complete Reference, Second Edition)javascript 2.0完全手册第二版 翻译说明
  7. flex 加载arcgis 的地图json
  8. 各种less开发工具
  9. wp实例开发精品文章源码推荐
  10. 对JDBC的优化,BeanUtils和DBUtils
  11. 搞懂MySQL InnoDB B+树索引
  12. kubernetes 源码安装部署 1.12
  13. linux 解决乱码问题
  14. python之路——15
  15. RunLoop的应用场景---关于滑动tableView的时候NSTimer 暂停的问题
  16. Lab 1-4
  17. IdentityServer4之Clients、Scopes、Claims与Token关联
  18. dedecms提取某栏目及子栏目名称到首页怎么弄
  19. Html页面Dom对象之Element
  20. NSLayoutConstraint 遍历查找对应的约束

热门文章

  1. sqlserver常用知识点备忘录(持续更新)
  2. day05_02 IDE介绍及设置
  3. Uiautomator ---(1) 封装代码
  4. js多少时间之前
  5. 【bzoj4031】[HEOI2015]小Z的房间 矩阵树定理
  6. ——CentOS 7 安装SQL Server2019
  7. Coloring Torus(Atcoder Grand Contest 030 C)
  8. lucas定理 +证明 学习笔记
  9. django:访问本地静态文件的配置
  10. 标准C程序设计七---74