home *** CD-ROM | disk | FTP | other *** search
/ Super CD / Super CD.iso / ms-setup / afterdar / module.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-02  |  2.4 KB  |  135 lines

  1. /*
  2.     AD GRAPHICS MODULE
  3.     MODULE ROUTING/HANDLING ROUTINES
  4.  
  5.      *** DO NOT MODIFY THIS SOURCE CODE!!! IT IS FOR VIEWING ONLY.  ***
  6.      *** CHANGE THE MODULE-SPECIFIC .C FILE FOR EACH MODULE         ***
  7.  
  8.     BY BILL STEWART
  9.  
  10.     UPDATED FOR AFTER DARK 2.0 FEB 18/92
  11. */
  12.  
  13. #include "module.h"
  14. #include <string.h>
  15. #include <time.h>
  16.  
  17. /*
  18. *   SYSTEM GLOBALS
  19. */
  20.  
  21. HANDLE  hLibInst;   // HANDLE TO THIS MODULE (DLL)
  22.  
  23. HDC  hDC;           // MODULE DISPLAY CONTEXT
  24.  
  25. HANDLE  hSystem;    //  HANDLE TO AD SYSTEM PARAM BLOCK
  26. LPSYSTEM lpSystem;  //  POINTER TO AD SYSTEM PARAM BLOCK
  27. LPMODULE lpModule;  //  POINTER TO MODULE'S PARAMETERS
  28.  
  29. /*
  30. *    SYSTEM ROUTINES
  31.          - LibMain
  32.          - WEP
  33.  
  34.          - Module
  35. */
  36.  
  37. /*
  38. *    ENTRY CODE FOR LIBRARY
  39. */
  40. int FAR PASCAL LibMain (hInstance, wDataSeg, wHeapSize, lpCmdLine)
  41. HANDLE  hInstance;
  42. WORD    wDataSeg, wHeapSize;
  43. LPSTR   lpCmdLine;
  44. {
  45.      if (wHeapSize == 0)
  46.         return 0;
  47.  
  48.      hLibInst = hInstance;
  49.         return 1;
  50. }
  51.  
  52. /*
  53. *   WINDOWS EXIT PROC FOR DLL
  54. */
  55. int FAR PASCAL WEP (bSystemExit)
  56. int  bSystemExit;
  57. {
  58.     return (1);
  59. }
  60.  
  61.  
  62. /*
  63. *      MASTER ROUTER FOR MODULE
  64. */
  65. int FAR PASCAL  Module (iMessage, hDrawDC, hADSystem)
  66. int     iMessage;
  67. HDC     hDrawDC;
  68. HANDLE  hADSystem;
  69. {
  70.     static  long  lTime;
  71.     int   iError;
  72.      int   i;
  73.  
  74.     hDC = hDrawDC;
  75.     hSystem = hADSystem;
  76.  
  77.     if ((lpSystem = (LPSYSTEM) GlobalLock (hSystem)) != NULL)
  78.     {
  79.         if ((lpModule = (LPMODULE) GlobalLock (lpSystem->hModuleInfo)) != NULL)
  80.         {
  81.             switch (iMessage)
  82.             {
  83.                 case PREINITIALIZE:
  84.                     iError = DoPreInitialize ();
  85.                     break;
  86.  
  87.                 case INITIALIZE:
  88.                     // SEED RANDOM GENERATOR RANDOMLY
  89.                     time (&lTime);
  90.                     srand ((unsigned)lTime);
  91.  
  92.                     iError = DoInitialize ();
  93.                     break;
  94.  
  95.                 case BLANK:
  96.                     iError = DoBlank ();
  97.                     break;
  98.  
  99.                 case DRAWFRAME:
  100.                     iError = DoDrawFrame ();
  101.                     break;
  102.  
  103.                 case CLOSE:
  104.                     iError = DoClose ();
  105.                     break;
  106.  
  107.                 case MODULESELECTED:
  108.                     lpModule->hModule = hLibInst;
  109.                     for (i=0; i<4; i++)
  110.                         lpModule->iControlID[i] = i+1;
  111.  
  112.                     iError = DoSelected ();
  113.                     break;
  114.  
  115.                 case ABOUT:
  116.                     iError = DoAbout ();
  117.                     break;
  118.  
  119.                 case BUTTONMESSAGE:
  120.                 case BUTTONMESSAGE+1:
  121.                 case BUTTONMESSAGE+2:
  122.                 case BUTTONMESSAGE+3:
  123.                     iError = DoButtonMessage (iMessage-BUTTONMESSAGE);
  124.                     break;
  125.  
  126.                 default:
  127.                     break;
  128.             }
  129.             GlobalUnlock (lpSystem->hModuleInfo);
  130.         }
  131.         GlobalUnlock (hSystem);
  132.     }
  133.     return iError;
  134. }
  135.