home *** CD-ROM | disk | FTP | other *** search
/ World of Sound / World of Sound.iso / utils / misc / fmsynth / src / source.lha / IntuiPointer.mod < prev    next >
Encoding:
Text File  |  1993-06-28  |  6.7 KB  |  148 lines

  1. (*---------------------------------------------------------------------------
  2.  :Program.    IntuiPointer.mod
  3.  :Contents.   Prozeduren zum Setzen des Mauszeigers auf 'Busy' (ZZ)
  4.  :Author.     Bernd Preusing
  5.  :Address.    Gerhardstr. 16  D-2200 Elmshorn
  6.  :Copyright.  Public Domain
  7.  :Language.   Oberon-2
  8.  :Translator. Amiga Oberon 2.42d
  9.  :History.    V1.0, 08-Oct-89, Bernd Preusing
  10.  :History.    V1.1, 10-Jan-90, [bne]: original (ZZ).-Image
  11.  :History.    V1.2, 10-Jan-92, Christian Stiens: original OS2.0 BusyPointer
  12.  :History.    V1.3, 06-Oct-92, Christian Stiens: animated busy pointer
  13. ---------------------------------------------------------------------------*)
  14.  
  15. MODULE IntuiPointer;
  16.  
  17. IMPORT I := Intuition;
  18.  
  19. (* $DataChip+ *)
  20.  
  21. TYPE Data = ARRAY 36 OF INTEGER;
  22.  
  23. CONST ClockData = Data(
  24.   00000U,00000U,
  25.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  26.   007C0U,01FF8U, 01FF0U,03FECU, 03FF8U,07FDEU, 03FF8U,07FBEU,
  27.   07FFCU,0FF7FU, 07EFCU,0FFFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  28.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  29.   00000U,00000U);
  30.  
  31. TYPE Data2 = ARRAY 16,36 OF INTEGER;
  32.  
  33. CONST AnimClockData = Data2(
  34.   00000U,00000U,                                               (* 00 *)
  35.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  36.   007C0U,01EF8U, 01FF0U,03EFCU, 03FF8U,07EFEU, 03FF8U,07EFEU,
  37.   07FFCU,0FEFFU, 07EFCU,0FFFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  38.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  39.   00000U,00000U,
  40.   00000U,00000U,                                               (* 01 *)
  41.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  42.   007C0U,01FB8U, 01FF0U,03FBCU, 03FF8U,07F7EU, 03FF8U,07F7EU,
  43.   07FFCU,0FEFFU, 07EFCU,0FFFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  44.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  45.   00000U,00000U,
  46.   00000U,00000U,                                               (* 02 *)
  47.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  48.   007C0U,01FF8U, 01FF0U,03FECU, 03FF8U,07FDEU, 03FF8U,07FBEU,
  49.   07FFCU,0FF7FU, 07EFCU,0FFFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  50.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  51.   00000U,00000U,
  52.   00000U,00000U,                                               (* 03 *)
  53.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  54.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FE6U,
  55.   07FFCU,0FF9FU, 07EFCU,0FF7FU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  56.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  57.   00000U,00000U,
  58.   00000U,00000U,                                               (* 04 *)
  59.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  60.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  61.   07FFCU,0FFFFU, 07EFCU,0FF03U, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  62.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  63.   00000U,00000U,
  64.   00000U,00000U,                                               (* 05 *)
  65.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  66.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  67.   07FFCU,0FFFFU, 07EFCU,0FF7FU, 07FFCU,0FF9FU, 03FF8U,07FE6U,
  68.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  69.   00000U,00000U,
  70.   00000U,00000U,                                               (* 06 *)
  71.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  72.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  73.   07FFCU,0FFFFU, 07EFCU,0FFFFU, 07FFCU,0FF7FU, 03FF8U,07FBEU,
  74.   03FF8U,07FDEU, 01FF0U,03FECU, 007C0U,01FF8U, 00000U,007E0U,
  75.   00000U,00000U,
  76.   00000U,00000U,                                               (* 07 *)
  77.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  78.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  79.   07FFCU,0FFFFU, 07EFCU,0FFFFU, 07FFCU,0FEFFU, 03FF8U,07F7EU,
  80.   03FF8U,07F7EU, 01FF0U,03FBCU, 007C0U,01FB8U, 00000U,007E0U,
  81.   00000U,00000U,
  82.   00000U,00000U,                                               (* 08 *)
  83.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  84.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  85.   07FFCU,0FFFFU, 07EFCU,0FFFFU, 07FFCU,0FEFFU, 03FF8U,07EFEU,
  86.   03FF8U,07EFEU, 01FF0U,03EFCU, 007C0U,01EF8U, 00000U,007E0U,
  87.   00000U,00000U,
  88.   00000U,00000U,                                               (* 09 *)
  89.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  90.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  91.   07FFCU,0FFFFU, 07EFCU,0FFFFU, 07FFCU,0FEFFU, 03FF8U,07DFEU,
  92.   03FF8U,07DFEU, 01FF0U,03BFCU, 007C0U,01BF8U, 00000U,007E0U,
  93.   00000U,00000U,
  94.   00000U,00000U,                                               (* 10 *)
  95.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  96.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  97.   07FFCU,0FFFFU, 07EFCU,0FFFFU, 07FFCU,0FDFFU, 03FF8U,07BFEU,
  98.   03FF8U,077FEU, 01FF0U,02FFCU, 007C0U,01FF8U, 00000U,007E0U,
  99.   00000U,00000U,
  100.   00000U,00000U,                                               (* 11 *)
  101.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  102.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  103.   07FFCU,0FFFFU, 07EFCU,0FDFFU, 07FFCU,0F3FFU, 03FF8U,04FFEU,
  104.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  105.   00000U,00000U,
  106.   00000U,00000U,                                               (* 12 *)
  107.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  108.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,07FFEU,
  109.   07FFCU,0FFFFU, 07EFCU,081FFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  110.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  111.   00000U,00000U,
  112.   00000U,00000U,                                               (* 13 *)
  113.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  114.   007C0U,01FF8U, 01FF0U,03FFCU, 03FF8U,07FFEU, 03FF8U,04FFEU,
  115.   07FFCU,0F3FFU, 07EFCU,0FDFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  116.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  117.   00000U,00000U,
  118.   00000U,00000U,                                               (* 14 *)
  119.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  120.   007C0U,01FF8U, 01FF0U,02FFCU, 03FF8U,077FEU, 03FF8U,07BFEU,
  121.   07FFCU,0FDFFU, 07EFCU,0FFFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  122.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  123.   00000U,00000U,
  124.   00000U,00000U,                                               (* 15 *)
  125.   00400U,007C0U, 00000U,007C0U, 00100U,00380U, 00000U,007E0U,
  126.   007C0U,01BF8U, 01FF0U,03BFCU, 03FF8U,07DFEU, 03FF8U,07DFEU,
  127.   07FFCU,0FEFFU, 07EFCU,0FFFFU, 07FFCU,0FFFFU, 03FF8U,07FFEU,
  128.   03FF8U,07FFEU, 01FF0U,03FFCU, 007C0U,01FF8U, 00000U,007E0U,
  129.   00000U,00000U);
  130.  
  131. PROCEDURE Normal* (win: I.WindowPtr);
  132. BEGIN
  133.   I.ClearPointer(win);
  134. END Normal;
  135.  
  136. PROCEDURE Busy* (win: I.WindowPtr);
  137. BEGIN
  138.   I.SetPointer(win,ClockData,16,16,-6,0);
  139. END Busy;
  140.  
  141. PROCEDURE AnimBusy* (win: I.WindowPtr; num: INTEGER);
  142. BEGIN
  143.   I.SetPointer(win,AnimClockData[num MOD 16],16,16,-6,0);
  144. END AnimBusy;
  145.  
  146. END IntuiPointer.
  147.  
  148.