summaryrefslogtreecommitdiff
path: root/macosx/Source/MemBadgeView.m
blob: 95157ea7b681e53e5852e34840048595b39ef68e (plain) (blame)
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
//
//  MemBadgeView.m
//  Pcsxr
//
//  Created by C.W. Betts on 7/6/13.
//
//

#import "MemBadgeView.h"

@implementation MemBadgeView

//TODO: also include the memory count in the view as well.
- (instancetype)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
    }
    
    return self;
}

- (void)drawRect:(NSRect)dirtyRect
{
	NSRect drawToRect = dirtyRect;
	NSImage *tmpDraw = nil;
	if (!NSEqualSizes(self.frame.size, dirtyRect.size)) {
		drawToRect = (NSRect) {NSZeroPoint, self.frame.size};
		tmpDraw = [[NSImage alloc] initWithSize:drawToRect.size];
		[tmpDraw lockFocus];
	}
	
	[[NSColor whiteColor] set];
	[[NSBezierPath bezierPathWithOvalInRect:drawToRect] fill];
	[[NSColor redColor] set];
	NSRect smallerRect = drawToRect;
	smallerRect.origin.x += 2;
	smallerRect.origin.y += 2;
	smallerRect.size.height -= 4;
	smallerRect.size.width -= 4;
	[[NSBezierPath bezierPathWithOvalInRect:smallerRect] fill];

	if (tmpDraw) {
		[tmpDraw unlockFocus];
		
		[tmpDraw drawInRect:dirtyRect fromRect:dirtyRect operation:NSCompositeSourceOver fraction:1.0];
	}
}

@end