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
|
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
*+ +*
*+ Snooze - ZZ-Mauszeiger setzen/löschen +*
*+ +*
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
*+ +*
*+ Modification History: +*
*+ -------------------- +*
*+ +*
*+ 17-Dec-87 CHW Created this file! +*
*+ 20-Jan-90 CHW Uses w->UserData instead of static var -> reentrant +*
*+ +*
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
IDNT Snooze
SECTION text,CODE
INCLUDE "exec/macros.i"
INCLUDE "intuition/intuition.i"
XREF _IntuitionBase
XDEF @Snooze,@UnSnooze
**************************************************************************
** **
** Snooze - Mauszeiger für bestimmtes Window auf zz setzen **
** und Menus abschalten **
** **
** WARNUNG: Benutzt wd_UserData als Zwischenspeicher für MenuStrip **
** **
** Parameter : A0.L : Adresse der Window-Struktur **
** Resultat : ALLE REGISTER BLEIBEN ERHALTEN **
** **
**************************************************************************
@Snooze: movem.l d0-d3/a0-a2/a6,-(SP)
movea.l a0,a2 ; A2 : WindowPtr
*+* Snooze-Pointer anzeigen
movea.l a2,a0 ; Window
lea SnoozeDaten,a1 ; Snooze-Pointer
moveq #24,d0 ; Height
moveq #16,d1 ; Width
moveq #-8,d2 ; Xoffset
moveq #-3,d3 ; Yoffset
movea.l _IntuitionBase,a6
JSRLIB SetPointer
98$: movea.l a2,a0 ; Window
move.l wd_MenuStrip(a0),wd_UserData(a0)
JSRLIB ClearMenuStrip ; Menus disable
99$: movem.l (SP)+,d0-d3/a0-a2/a6
rts
**************************************************************************
** **
** UnSnooze - Mauszeiger für bestimmtes Window wieder zurücksetzen **
** und Menus wieder anschalten **
** **
** Parameter : A0.L : Adresse der Window-Struktur **
** Resultat : ALLE REGISTER BLEIBEN ERHALTEN **
** **
**************************************************************************
@UnSnooze: movem.l d0-d1/a0-a2/a6,-(SP)
movea.l a0,a2
movea.l _IntuitionBase,a6
JSRLIB ClearPointer
movea.l a2,a0 ; Window
movea.l wd_UserData(a2),a1 ; Geretteter MenuStrip
JSRLIB SetMenuStrip
movem.l (SP)+,d0-d1/a0-a2/a6
rts
SECTION datachip,DATA_C
SnoozeDaten: dc.w $0000,$0000
dc.w $0600,$0000,$0F40,$0600,$3FE0,$0F40
dc.w $7FF0,$3FE0,$FFF0,$7FE0,$E1F8,$7FF0
dc.w $FBFC,$7FF8,$F7FC,$FFF8,$E1FE,$7FFC
dc.w $FF0E,$7FFC,$7FDE,$3FFE,$FFBE,$7FFC
dc.w $7F0E,$3FFC,$3FFC,$1FF8,$1FF8,$07F0
dc.w $07F0,$01C0,$0FC0,$0700,$1FE0,$0FC0
dc.w $0FC0,$0680,$07C0,$0000,$03E0,$01C0
dc.w $07F0,$03E0,$03E0,$00C0,$00C0,$0000
dc.w $0000,$0000
END
|