home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 10
/
Fresh_Fish_10_2352.bin
/
new
/
dev
/
obero
/
oberon-a
/
source
/
amigautil
/
intuipointer.mod
< prev
next >
Wrap
Text File
|
1995-05-27
|
9KB
|
188 lines
(*---------------------------------------------------------------------------
:Program. IntuiPointer.mod
:Contents. Prozeduren zum Setzen des Mauszeigers auf 'Busy' (ZZ)
:Author. Bernd Preusing
:Address. Gerhardstr. 16 D-2200 Elmshorn
:Phone. 04121/22486
:Copyright. Public Domain
:Language. Oberon-2
:Translator. Amiga Oberon 2.42d
:Translator. Oberon-A 5.13
:History. V1.0, 08-Oct-89, Bernd Preusing
:History. V1.1, 10-Jan-90, [bne]: original (ZZ).-Image
:History. V1.2, 10-Jan-92, Christian Stiens: original OS2.0 BusyPointer
:History. V1.3, 06-Oct-92, Christian Stiens: animated busy pointer
:History. V1.3 11-Jun-93 [hG] supports 3.0 internal busy pointer
:History. V1.4, 23-Jan-95 [fjc] merged Christian's and Hartmut's
:History. versions, and added Oberon-A code.
:History. V1.5, 27-May-95 [fjc] removed AmigaOberon code.
:Bugs. none
:Remark. Please, create beautiful pointers for me!
---------------------------------------------------------------------------*)
<*STANDARD-*>
MODULE IntuiPointer;
IMPORT
SYS := SYSTEM,
Kernel,
e := Exec,
I := Intuition,
u := Utility;
TYPE Data = ARRAY 36 OF INTEGER; DataPtr = POINTER [2] TO Data;
CONST ClockDataStr =
"\x00\x00\x00\x00"
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xEC\x3F\xF8\x7F\xDE\x3F\xF8\x7F\xBE"
"\x7F\xFC\xFF\x7F\x7E\xFC\xFF\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00";
TYPE Data2 = ARRAY 16,36 OF INTEGER; Data2Ptr = POINTER [2] TO Data2;
CONST AnimClockDataStr =
"\x00\x00\x00\x00" (* 00 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1E\xF8\x1F\xF0\x3E\xFC\x3F\xF8\x7E\xFE\x3F\xF8\x7E\xFE"
"\x7F\xFC\xFE\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 01 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xB8\x1F\xF0\x3F\xBC\x3F\xF8\x7F\x7E\x3F\xF8\x7F\x7E"
"\x7F\xFC\xFE\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 02 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xEC\x3F\xF8\x7F\xDE\x3F\xF8\x7F\xBE"
"\x7F\xFC\xFF\x7F\x7E\xFC\xFF\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 03 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xE6"
"\x7F\xFC\xFF\x9F\x7E\xFC\xFF\x7F\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 04 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\x03\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 05 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\x7F\x7F\xFC\xFF\x9F\x3F\xF8\x7F\xE6"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 06 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFF\x7F\x3F\xF8\x7F\xBE"
"\x3F\xF8\x7F\xDE\x1F\xF0\x3F\xEC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 07 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFE\xFF\x3F\xF8\x7F\x7E"
"\x3F\xF8\x7F\x7E\x1F\xF0\x3F\xBC\x07\xC0\x1F\xB8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 08 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFE\xFF\x3F\xF8\x7E\xFE"
"\x3F\xF8\x7E\xFE\x1F\xF0\x3E\xFC\x07\xC0\x1E\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 09 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFE\xFF\x3F\xF8\x7D\xFE"
"\x3F\xF8\x7D\xFE\x1F\xF0\x3B\xFC\x07\xC0\x1B\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 10 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFD\xFF\x3F\xF8\x7B\xFE"
"\x3F\xF8\x77\xFE\x1F\xF0\x2F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 11 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\xFD\xFF\x7F\xFC\xF3\xFF\x3F\xF8\x4F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 12 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x7F\xFE"
"\x7F\xFC\xFF\xFF\x7E\xFC\x81\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 13 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x3F\xFC\x3F\xF8\x7F\xFE\x3F\xF8\x4F\xFE"
"\x7F\xFC\xF3\xFF\x7E\xFC\xFD\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 14 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1F\xF8\x1F\xF0\x2F\xFC\x3F\xF8\x77\xFE\x3F\xF8\x7B\xFE"
"\x7F\xFC\xFD\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00"
"\x00\x00\x00\x00" (* 15 *)
"\x04\x00\x07\xC0\x00\x00\x07\xC0\x01\x00\x03\x80\x00\x00\x07\xE0"
"\x07\xC0\x1B\xF8\x1F\xF0\x3B\xFC\x3F\xF8\x7D\xFE\x3F\xF8\x7D\xFE"
"\x7F\xFC\xFE\xFF\x7E\xFC\xFF\xFF\x7F\xFC\xFF\xFF\x3F\xF8\x7F\xFE"
"\x3F\xF8\x7F\xFE\x1F\xF0\x3F\xFC\x07\xC0\x1F\xF8\x00\x00\x07\xE0"
"\x00\x00\x00\x00";
VAR
ClockData : DataPtr;
AnimClockData : Data2Ptr;
(*------------------------------------*)
PROCEDURE InitData;
BEGIN (* InitData *)
Kernel.Allocate (ClockData, SIZE (Data), {e.chip});
SYS.MOVE (SYS.ADR (ClockDataStr), ClockData, SIZE (Data));
Kernel.Allocate (AnimClockData, SIZE (Data2), {e.chip});
SYS.MOVE (SYS.ADR (AnimClockDataStr), AnimClockData, SIZE (Data2));
END InitData;
(*------------------------------------*)
PROCEDURE Normal* (win: I.WindowPtr);
BEGIN
IF I.int.libNode.version >= 39 THEN
I.SetWindowPointer(win,u.