summaryrefslogtreecommitdiff
path: root/Snooze.S
blob: 44e9737481bc5befecf0df1e43f58d2e898f3a1a (plain)
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