|
|
1.1 root 1: // SleepView.m
2: //
3: // You may freely copy, distribute, and reuse the code in this example.
4: // NeXT disclaims any warranty of any kind, expressed or implied, as to its
5: // fitness for any particular use.
6:
7: // This view goes in a little 4 pixel window and cause BackSpace to sleep
8: // whenever the cursor goes to a preselected corner.
9:
10: #import "Thinker.h"
11: #import "SleepView.h"
12: #import <libc.h>
13: #import <appkit/timer.h>
14:
15: @implementation SleepView
16:
17: - mouseEntered:(NXEvent *)theEvent
18: {
19: int looping = YES;
20: int doSaver = NO;
21: NXTrackingTimer myTimer;
22:
23: NXBeginTimer(&myTimer, 3.0, 5.0);
24: while (looping)
25: {
26: theEvent = [NXApp getNextEvent: NX_TIMERMASK|NX_MOUSEEXITEDMASK];
27:
28: switch (theEvent->type)
29: {
30: case NX_TIMER:
31: doSaver = YES;
32: // now fall into MOUSEEXITED code
33:
34: case NX_MOUSEEXITED:
35: looping = NO;
36: break;
37: }
38: }
39:
40: NXEndTimer(&myTimer);
41: if (doSaver) [BSThinker() showFakeScreenSaver:self];
42: return self;
43: }
44:
45: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.