home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9202 / tpw / reesaver / reesaver.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-10-24  |  1.5 KB  |  61 lines

  1. LIBRARY ReeSaver;
  2.  
  3. USES WinTypes, WinProcs, Strings, AfterDark;
  4.  
  5. TYPE
  6.   TReeSaver = OBJECT(TAfterDark)
  7.     NoOfColors: INTEGER;
  8.     FUNCTION DoDrawFrame: INTEGER; VIRTUAL;
  9.     FUNCTION DoButtonMessage2(Value: INTEGER): INTEGER; VIRTUAL;
  10.     FUNCTION DoButtonMessage4(Value: INTEGER): INTEGER; VIRTUAL;
  11.   END;
  12.  
  13. FUNCTION TReeSaver.DoDrawFrame: INTEGER;
  14. VAR
  15.   x,y: INTEGER;
  16.   color: TColorRef;
  17. BEGIN
  18.   x := Random(lpModule^.ptRgnSize.x);
  19.   y := Random(lpModule^.ptRgnSize.y);
  20.   CASE NoOfColors OF
  21.     1: color := RGB(0,0,0);
  22.     2: IF ODD(Random(255)) THEN color := RGB(0,0,0) ELSE color := RGB(255,255,255);
  23.     3: BEGIN
  24.          CASE TRUNC(Random(5)) OF
  25.            0: color := RGB(0,0,0);
  26.            1: color := RGB(255,0,0);
  27.            2: color := RGB(0,255,0);
  28.            3: color := RGB(0,0,255);
  29.            4: color := RGB(255,255,255);
  30.          END;
  31.        END;
  32.     4: color := RGB(Random(255), Random(255), Random(255));
  33.   END;
  34.   SetPixel (DC, x, y, color);
  35.   SetPixel (DC, x+1, y, color);
  36.   SetPixel (DC, x, y+1, color);
  37.   SetPixel (DC, x+1, y+1, color);
  38. END;
  39.  
  40. FUNCTION TReeSaver.DoButtonMessage2 (Value: INTEGER): INTEGER;
  41. BEGIN
  42.   NoOfColors := (Value DIV 25)+1;
  43.   DoButtonMessage2 := NoError;
  44. END;
  45.  
  46. FUNCTION TReeSaver.DoButtonMessage4 (Value: INTEGER): INTEGER;
  47. BEGIN
  48.   (*MessageBox (, 'Mitteilung', 'MessageBox, mb_Yes);*)
  49.   MessageBeep(0);
  50.   DoButtonMessage4 := NoError;
  51. END;
  52.  
  53. EXPORTS Module;
  54.  
  55. VAR
  56.   MySaver: TReeSaver;
  57.  
  58. BEGIN
  59.   Randomize;
  60.   MySaver.Init;
  61. END.