| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- /*
 
-  * utils.mm, part of VCMI engine
 
-  *
 
-  * Authors: listed in file AUTHORS in main folder
 
-  *
 
-  * License: GNU General Public License v2.0 or later
 
-  * Full text of license available in license.txt file, in main folder
 
-  *
 
-  */
 
- #include "utils.h"
 
- #import <UIKit/UIKit.h>
 
- namespace
 
- {
 
- UIActivityIndicatorView *indicator;
 
- }
 
- namespace iOS_utils
 
- {
 
- double screenScale()
 
- {
 
- 	return UIScreen.mainScreen.nativeScale;
 
- }
 
- void showLoadingIndicator()
 
- {
 
- 	NSCAssert(!indicator, @"activity indicator must be hidden before attempting to show it again");
 
- 	indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
 
- 	[indicator startAnimating];
 
- 	auto mainView = UIApplication.sharedApplication.keyWindow.rootViewController.view;
 
- 	mainView.userInteractionEnabled = NO;
 
- 	[mainView addSubview:indicator];
 
- 	indicator.center = {CGRectGetMidX(mainView.bounds), CGRectGetMidY(mainView.bounds)};
 
- }
 
- void hideLoadingIndicator()
 
- {
 
- 	indicator.superview.userInteractionEnabled = YES;
 
- 	[indicator stopAnimating];
 
- 	[indicator removeFromSuperview];
 
- 	indicator = nil;
 
- }
 
- void hapticFeedback()
 
- {
 
-     auto hapticGen = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight];
 
-     [hapticGen impactOccurred];
 
- }
 
- }
 
 
  |