summaryrefslogtreecommitdiff
path: root/src/ui/widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widget.c')
-rw-r--r--src/ui/widget.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ui/widget.c b/src/ui/widget.c
index c54ea444..2381548a 100644
--- a/src/ui/widget.c
+++ b/src/ui/widget.c
@@ -507,6 +507,9 @@ iRect bounds_Widget(const iWidget *d) {
507 } 507 }
508 addv_I2(&bounds.pos, pos); 508 addv_I2(&bounds.pos, pos);
509 } 509 }
510#if defined (iPlatformMobile)
511 bounds.pos.y += value_Anim(&get_Window()->rootOffset);
512#endif
510 return bounds; 513 return bounds;
511} 514}
512 515
@@ -1131,6 +1134,19 @@ static void printTree_Widget_(const iWidget *d, int indent) {
1131 } 1134 }
1132} 1135}
1133 1136
1137iBool hasVisibleChildOnTop_Widget(const iWidget *parent) {
1138 iConstForEach(ObjectList, i, parent->children) {
1139 const iWidget *child = i.object;
1140 if (~child->flags & hidden_WidgetFlag && child->flags & keepOnTop_WidgetFlag) {
1141 return iTrue;
1142 }
1143 if (hasVisibleChildOnTop_Widget(child)) {
1144 return iTrue;
1145 }
1146 }
1147 return iFalse;
1148}
1149
1134void printTree_Widget(const iWidget *d) { 1150void printTree_Widget(const iWidget *d) {
1135 printTree_Widget_(d, 0); 1151 printTree_Widget_(d, 0);
1136} 1152}