summaryrefslogtreecommitdiff
path: root/Snooze.S
diff options
context:
space:
mode:
Diffstat (limited to 'Snooze.S')
-rw-r--r--Snooze.S95
1 files changed, 95 insertions, 0 deletions
diff --git a/Snooze.S b/Snooze.S
new file mode 100644
index 0000000..44e9737
--- /dev/null
+++ b/Snooze.S
@@ -0,0 +1,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