home *** CD-ROM | disk | FTP | other *** search
/ Desktop Works 1995 - 1996 / desktopworks1995-1996.iso / scrnsave / mw_fish / wmain.def < prev    next >
Text File  |  1996-01-01  |  4KB  |  139 lines

  1. DEFINITION MODULE WMain;
  2.  
  3. IMPORT Windows,ApplDlg,Str;
  4. FROM Storage IMPORT ALLOCATE,DEALLOCATE;
  5. FROM Lib IMPORT RANDOMIZE,RANDOM;
  6.  
  7. CONST
  8. (* String table constants *)
  9.   IDSNAME  =   100;
  10.   IDSABOUT =   200;
  11.   IDSTITLE =   300;
  12.   IDSMESSAGE = 400;
  13.   IDSCAPTION = 500;
  14.   IDSDEFSPEC = 501;
  15.   IDSDEFEXT  = 502;
  16.  
  17. (* About Dialog box resource id *)
  18.   ABOUTBOX =     1;
  19.   FISHSELECT =   2;
  20.   LIFEDATABOX =  3;
  21.   FISHINFOBOX =  4;
  22.  
  23. (* Fish Select Box Controls *)
  24.   IDC_FILENAME =   400;
  25.   IDC_EDIT     =   401;
  26.   IDC_FILES    =   402;
  27.   IDC_PATH     =   403;
  28.   IDC_LISTBOX  =   404;
  29.  
  30.   IDSAVERAGECHECK =  114;
  31.   IDSBACK        =  119;
  32.   IDSCANCEL      =  118;
  33.   IDSFASTCHECK   =  115;
  34.   IDSFISHNAME    =  108;
  35.   IDSGROUPBOX    =  110;
  36.   IDSHOWMANY     =  116;
  37.   IDSHOWMANYTEXT =  112;
  38.   IDSNEXT        =  120;
  39.   IDSOK          =  117;
  40.   IDSSELECTED    =  109;
  41.   IDSSLOWCHECK   =  113;
  42.  
  43. (* icon name *)
  44.   AQUAICON =     1;
  45.  
  46.   SLOWSPEED    =       2;
  47.   AVERAGESPEED =       4;
  48.   FASTSPEED    =       6;
  49.  
  50. TYPE
  51.     NameType = ARRAY [0..15] OF CHAR;
  52.  
  53.     InstancePtr = POINTER TO FishInstance;
  54.  
  55.     FishInstance = RECORD
  56.                       bmapno         : CARDINAL;
  57.                       direction      : CARDINAL;
  58.                       xpos           : INTEGER;
  59.                       ypos           : INTEGER;
  60.                       speedx         : INTEGER;
  61.                       speedy         : INTEGER;
  62.                       pspeedx        : INTEGER;
  63.                       pspeedy        : INTEGER;
  64.                       NextInstance   : InstancePtr
  65.                    END;
  66.  
  67.     Fish    = RECORD
  68.                  name           : NameType;
  69.                  bmap           : ARRAY[1..2],[1..4] OF Windows.HBITMAP;
  70.                  bmapno         : CARDINAL;
  71.                  DialogFrame    : CARDINAL;
  72.                  status         : BOOLEAN;
  73.                  turnbmap       : Windows.HBITMAP;
  74.                  xpos           : INTEGER;
  75.                  ypos           : INTEGER;
  76.                  xextent        : INTEGER;
  77.                  yextent        : INTEGER;
  78.                  headwidth      : INTEGER;
  79.                  speedx         : INTEGER;
  80.                  speedy         : INTEGER;
  81.                  pspeedx        : INTEGER;
  82.                  pspeedy        : INTEGER;
  83.                  basespeed      : INTEGER;
  84.                  frequency      : CARDINAL;
  85.                  direction      : CARDINAL;
  86.                  TimerId        : INTEGER;
  87.                  Instances      : CARDINAL;
  88.                  Other          : InstancePtr;
  89.                END;
  90.  
  91.  
  92. VAR
  93.   szAppName: ARRAY [0..9] OF CHAR;
  94.   szAbout: ARRAY [0..9] OF CHAR;
  95.   szMessage: ARRAY [0..25] OF CHAR;
  96.   mycaption,mymessage : ARRAY [0..25] OF CHAR;
  97.   MessageLength: CARDINAL;
  98.  
  99.   FileName,PathName,OpenName,DefPath : ARRAY[0..128] OF CHAR;
  100.   szDefSpec : ARRAY[0..13] OF CHAR;
  101.   szDefExt  : ARRAY[0..5] OF CHAR;
  102.   FStr      : ARRAY[0..255] OF CHAR;
  103.   szPath    : ARRAY [0..127] OF CHAR;
  104.   szMask    : ARRAY [0..127] OF CHAR;
  105.  
  106.   hInst: Windows.HANDLE;
  107.  
  108.   RealXYRect :Windows.RECT;
  109.  
  110.   FishHead  : ARRAY [0..10] OF Fish;
  111.   FishSelected,FishMax : INTEGER;
  112.   InstanceHead : InstancePtr;
  113.  
  114. (*# name(prefix=>windows) *)
  115. (*# call(near_call=> off, reg_param=>()) *)
  116.  
  117. (*# save *)
  118. (*# call(windows=>on) *)
  119.  
  120. PROCEDURE MainWndProc( hWindow : Windows.HWND;
  121.                         message : CARDINAL;
  122.                         wParam  : CARDINAL;
  123.                         lParam  : LONGINT ) : LONGINT ;
  124.  
  125. (*# restore *)
  126.  
  127.  
  128. PROCEDURE WinMain( hInstance    : Windows.HANDLE;
  129.                   hPrevInstance : Windows.HANDLE;
  130.                   lpszCmdline   : Windows.LPSTR;
  131.                   cmdShow       : INTEGER ) : Windows.BOOL ;
  132.  
  133. PROCEDURE StopAllTimers(hWnd : Windows.HWND);
  134.  
  135. PROCEDURE StartAllTimers(hWnd : Windows.HWND);
  136.  
  137. PROCEDURE QuickDeleteRgns(hWnd  : Windows.HWND);
  138.  
  139. END WMain.