summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/quiview.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/ios/quiview.mm')
-rw-r--r--src/plugins/platforms/ios/quiview.mm31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm
index f36cbaf685..8be3515cb5 100644
--- a/src/plugins/platforms/ios/quiview.mm
+++ b/src/plugins/platforms/ios/quiview.mm
@@ -73,6 +73,20 @@
self.hidden = YES;
self.multipleTouchEnabled = YES;
+
+ if (QIOSIntegration::instance()->debugWindowManagement()) {
+ static CGFloat hue = 0.0;
+ CGFloat lastHue = hue;
+ for (CGFloat diff = 0; diff < 0.1 || diff > 0.9; diff = fabsf(hue - lastHue))
+ hue = drand48();
+
+ #define colorWithBrightness(br) \
+ [UIColor colorWithHue:hue saturation:0.5 brightness:br alpha:1.0].CGColor
+
+ self.layer.backgroundColor = colorWithBrightness(0.5);
+ self.layer.borderColor = colorWithBrightness(1.0);
+ self.layer.borderWidth = 1.0;
+ }
}
return self;
@@ -247,6 +261,23 @@
return YES;
}
+- (BOOL)isActiveWindow
+{
+ // Normally this is determined exclusivly by being firstResponder, but
+ // since we employ a separate first responder for text input we need to
+ // handle both cases as this view being the active Qt window.
+
+ if ([self isFirstResponder])
+ return YES;
+
+ UIResponder *firstResponder = [UIResponder currentFirstResponder];
+ if ([firstResponder isKindOfClass:[QIOSTextInputResponder class]]
+ && [firstResponder nextResponder] == self)
+ return YES;
+
+ return NO;
+}
+
// -------------------------------------------------------------------------