mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-14 10:12:59 +02:00
47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
|
/*
|
||
|
* 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;
|
||
|
}
|
||
|
}
|