some fixes
This commit is contained in:
parent
0742b0c02d
commit
5c1878bd46
|
|
@ -239,10 +239,8 @@ namespace kiwano
|
|||
}
|
||||
}
|
||||
|
||||
void Node::SetZOrder(int zorder)
|
||||
void Node::Reorder()
|
||||
{
|
||||
z_order_ = zorder;
|
||||
|
||||
if (parent_)
|
||||
{
|
||||
NodePtr me = this;
|
||||
|
|
@ -251,12 +249,12 @@ namespace kiwano
|
|||
|
||||
Node* sibling = parent_->children_.Last().Get();
|
||||
|
||||
if (sibling && sibling->GetZOrder() > zorder)
|
||||
if (sibling && sibling->GetZOrder() > z_order_)
|
||||
{
|
||||
sibling = sibling->PrevItem().Get();
|
||||
while (sibling)
|
||||
{
|
||||
if (sibling->GetZOrder() <= zorder)
|
||||
if (sibling->GetZOrder() <= z_order_)
|
||||
break;
|
||||
sibling = sibling->PrevItem().Get();
|
||||
}
|
||||
|
|
@ -273,6 +271,15 @@ namespace kiwano
|
|||
}
|
||||
}
|
||||
|
||||
void Node::SetZOrder(int zorder)
|
||||
{
|
||||
if (z_order_ != zorder)
|
||||
{
|
||||
z_order_ = zorder;
|
||||
Reorder();
|
||||
}
|
||||
}
|
||||
|
||||
void Node::SetOpacity(float opacity)
|
||||
{
|
||||
if (opacity_ == opacity)
|
||||
|
|
@ -473,7 +480,7 @@ namespace kiwano
|
|||
child->SetScene(this->scene_);
|
||||
child->dirty_transform_ = true;
|
||||
child->UpdateOpacity();
|
||||
child->SetZOrder(child->GetZOrder());
|
||||
child->Reorder();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -405,6 +405,8 @@ namespace kiwano
|
|||
|
||||
void SetScene(Scene* scene);
|
||||
|
||||
void Reorder();
|
||||
|
||||
protected:
|
||||
bool visible_;
|
||||
bool hover_;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@
|
|||
#include "../macros.h"
|
||||
#include <functional>
|
||||
|
||||
#ifdef KGE_DEBUG
|
||||
// #define KGE_DEBUG_ENABLE_LIST_CHECK
|
||||
|
||||
#ifdef KGE_DEBUG_ENABLE_LIST_CHECK
|
||||
# define KGE_DEBUG_CHECK_LIST(list_ptr) list_ptr->Check()
|
||||
#else
|
||||
# define KGE_DEBUG_CHECK_LIST __noop
|
||||
|
|
@ -167,7 +169,7 @@ namespace kiwano
|
|||
|
||||
void Remove(T const& child)
|
||||
{
|
||||
#ifdef KGE_DEBUG
|
||||
#ifdef KGE_DEBUG_ENABLE_LIST_CHECK
|
||||
T tmp = first_;
|
||||
while (tmp != child)
|
||||
{
|
||||
|
|
@ -217,7 +219,7 @@ namespace kiwano
|
|||
last_ = nullptr;
|
||||
}
|
||||
|
||||
#ifdef KGE_DEBUG
|
||||
#ifdef KGE_DEBUG_ENABLE_LIST_CHECK
|
||||
|
||||
private:
|
||||
void Check()
|
||||
|
|
@ -250,3 +252,4 @@ namespace kiwano
|
|||
}
|
||||
|
||||
#undef KGE_DEBUG_CHECK_LIST
|
||||
#undef KGE_DEBUG_ENABLE_LIST_CHECK
|
||||
|
|
|
|||
Loading…
Reference in New Issue