forked from soffes/sstoolkit
-
Notifications
You must be signed in to change notification settings - Fork 100
/
SSHUDWindow.m
64 lines (46 loc) · 1.38 KB
/
SSHUDWindow.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//
// SSHUDWindow.m
// SSToolkit
//
// Created by Sam Soffes on 3/17/11.
// Copyright 2011 Sam Soffes. All rights reserved.
//
#import "SSHUDWindow.h"
#import "UIImage+SSToolkitAdditions.h"
static SSHUDWindow *kHUDWindow = nil;
@implementation SSHUDWindow
#pragma mark - Accessors
@synthesize hidesVignette = _hidesVignette;
- (void)setHidesVignette:(BOOL)hide {
_hidesVignette = hide;
self.userInteractionEnabled = !hide;
[self setNeedsDisplay];
}
#pragma mark - Class Methods
+ (SSHUDWindow *)defaultWindow {
if (!kHUDWindow) {
kHUDWindow = [[SSHUDWindow alloc] init];
}
return kHUDWindow;
}
#pragma mark - NSObject
- (id)init {
if ((self = [super initWithFrame:[[UIScreen mainScreen] bounds]])) {
self.backgroundColor = [UIColor clearColor];
self.windowLevel = UIWindowLevelStatusBar + 1.0f;
}
return self;
}
#pragma mark - UIView
- (void)drawRect:(CGRect)rect {
if (_hidesVignette) {
return;
}
NSString *imageName = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? @"SSVignetteiPad.png" : @"SSVignetteiPhone.png";
UIImage *image = [UIImage imageNamed:imageName bundleName:kSSToolkitBundleName];
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
[image drawInRect:CGRectMake(roundf((screenSize.width - image.size.width) / 2.0f),
roundf((screenSize.height - image.size.height) / 2.0f),
image.size.width, image.size.height)];
}
@end