forked from bps/scrobblepod
-
Notifications
You must be signed in to change notification settings - Fork 3
/
BGRoundedInfoView.h
120 lines (97 loc) · 3 KB
/
BGRoundedInfoView.h
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/* BGRoundedInfoView */
#import <Cocoa/Cocoa.h>
@class AppController;
@interface BGRoundedInfoView : NSView
{
// CACHED IMAGES
NSImage *statusImage;
NSImage *backgroundImage;
NSImage *stringImage;
// INSTANCE VARIABLES
int currentLoveHateIconOpacity;
int currentBlueAction;
float currentBlueOffset;
BOOL isResizingBlue;
BOOL blueIsClosed;
BOOL active;
NSRect drawingBounds;
NSMutableArray *iconSet;
NSDictionary *attributesDictionary;
NSString *stringValue;
//CTGradient *gradientFill;
float currentScrollOffset;
int hoveredIcon;
int pressedIcon;
BOOL scrobblingEnabled;
BOOL scrobblingAuto;
// TIMERS
NSTimer *blueTimer;
NSTimer *fadeIconTimer;
NSTimer *statusChangeTimer;
NSTimer *scrollTimer;
NSString *properStringValue;
IBOutlet AppController *appController;
}
@property (assign) BOOL scrobblingEnabled;
@property (assign) BOOL scrobblingAuto;
@property (assign) int hoveredIcon;
@property (assign) int pressedIcon;
@property (copy) NSString *properStringValue;
#pragma mark Initialisation
- (id)initWithFrame:(NSRect)frameRect;
-(void)createIconSet;
#pragma mark Last.fm Icons
-(void)addIconFromImage:(NSImage *)theImage withSelector:(NSString *)action andDescription:(NSString *)aDescription;
-(void)createTextAttributesDictionary;
-(NSString *)selectorNameForClickOffset:(NSPoint)clickPoint;
-(NSString *)descriptionForClickOffset:(NSPoint)clickPoint;
-(int)indexForClickOffset:(NSPoint)clickPoint;
#pragma mark Event Tracking
- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent;
-(void)mouseDown:(NSEvent *)theEvent;
#pragma mark Blue Timer
-(void)startBlueTimer;
-(void)stopBlueTimer;
-(void)incrementBlue:(NSTimer *)timer;
-(void)startBlueTimerWithDirection:(int)direction;
-(void)resetBlueToOffState;
#pragma mark Fade Timer
-(void)startFadeTimer;
-(void)stopFadeTimer;
#pragma mark Status Change Timer
-(void)startStatusChangeTimer;
-(void)stopStatusChangeTimer;
#pragma mark Convenience Blue Methods
-(float)currentBlueWidth;
-(void)openBlueMenu;
-(void)closeBlueMenu;
#pragma mark Drawing
-(void)drawRect:(NSRect)rect;
-(BOOL)isFlipped;
#pragma mark Calculating Regions
-(void)calculateDrawingBounds;
#pragma mark Generating Cached Images
-(NSImage *)backgroundImage;
-(void)generateBackgroundImage;
-(void)generateStringImage;
-(NSImage *)stringImageWithWidth:(float)theWidth andOffset:(float)theOffset;
-(void)generateStatusImage;
#pragma mark String Value
-(NSString *)stringValue;
-(void)setStringValue:(NSString *)aString;
-(void)setStringValue:(NSString *)aString isActive:(BOOL)aBool;
-(void)setTemporaryHoverStringValue:(NSString *)aString;
-(void)revertFromHoverToStringValue:(NSTimer*)theTimer;
#pragma mark Scrolling
-(void)startScrolling;
-(void)stopScrolling;
-(BOOL)shouldScroll;
#pragma mark Properties
@property (retain) NSImage *stringImage;
@property (retain) NSImage *statusImage;
@property (assign) BOOL active;
@property (assign) BOOL isResizingBlue;
@property (assign) int currentBlueAction;
@property (assign) int currentLoveHateIconOpacity;
@property (assign) BOOL blueIsClosed;
@end