home *** CD-ROM | disk | FTP | other *** search
/ Chip Hitware 10 / Chip_Hitware_Vol_10.iso / chiphit / multmedi / 95licht / install.dll / 1001 / 1 / CBLANKER.C < prev    next >
C/C++ Source or Header  |  1997-01-04  |  4KB  |  141 lines

  1.  
  2. #include <windows.h>
  3.  
  4. #include <time.h>
  5. #include <stdlib.h>
  6.  
  7. #include "lgdapi.h"
  8. #include "lgduti.h"
  9. #pragma hdrstop
  10.  
  11. // defines variables for color palettes (include in 1 file only)
  12. //#include "lgdapi.inc"
  13.  
  14. BOOL LGDCALL ScrInfo (PLgdInfoStruct plisInfo)
  15. {
  16.   if (plisInfo->cBytes < sizeof (TLgdInfoStruct))
  17.      return FALSE; // structure too small
  18.  
  19.   if (plisInfo->lMagic != CMAGIC)
  20.      return FALSE;
  21.  
  22.   plisInfo->afSaverFlags = SCR_LEAVESBLANK | SCR_HELPAVAILABLE;
  23.  
  24.   strcpy (plisInfo->strTitle, "BBlanker C");
  25.   strcpy (plisInfo->strInfo, "Blanker Screen Saver\n\n"
  26.                                       "C Sample screen saver\n\n"
  27.                                       "C Source code included!");
  28.   strcpy (plisInfo->strHelpFile, "LGD95.HLP");
  29.   strcpy (plisInfo->strHelpKey,  "BBlanker");
  30.  
  31.   return TRUE;
  32. }
  33.  
  34. /*  fpScrInfo = Function (var lisInfo: TLgdInfoStruct): bool; stdcall;
  35.          { index 11; requests information about screen saver }*/
  36.  
  37. BOOL LGDCALL ScrAbout (HWND hwndParent)
  38. {
  39.   LgdAboutBox (hwndParent, 0,
  40.                     "BBlanker C",
  41.                     "⌐ 1996-1997 Thomas H÷vel Software\n"
  42.                     "Saturnstra▀e 45, 53842 Troisdorf, Germany\n"
  43.                     "All rights reserved!",
  44.                     TRUE,
  45.                     3);
  46.   return TRUE;
  47. }
  48.  
  49. /*  fpScrAbout = Function (hwndParent: HWND): bool; stdcall;
  50.          { index 12; display information about screen saver }*/
  51.  
  52.  
  53. BOOL LGDCALL ScrInit (PModuleData pmdModuleData)
  54. {
  55.   pmdModuleData->pms->fSupportsIdleFunction = TRUE;
  56.   pmdModuleData->pms->lCallDelay = 1;
  57.   pmdModuleData->pms->lTimerDelay = 100;
  58.  
  59.   randomize ();
  60.   return TRUE;
  61. }
  62. /*         { these functions are called to execute the screen saver }
  63.   fpScrInit = Function (pmdModuleData: Pointer {PModuleData}): bool; stdcall;
  64.          { index 13; init screen saver - should save pointer to structure }*/
  65.  
  66. BOOL LGDCALL ScrDone (PModuleData pmdModuleData)
  67. {
  68.   return TRUE;
  69. }
  70. /*  fpScrDone = Procedure (pmdModuleData: Pointer {PModuleData}); stdcall;
  71.          { index 14 }*/
  72.  
  73. void LGDCALL ScrIdle (PModuleData pmdModuleData)
  74. {
  75.   HDC dc;
  76.   int x, y;
  77.  
  78.   dc = GetDC (pmdModuleData->pms->hwndSaver);
  79.  
  80.   x = random (pmdModuleData->pms->cxScreen);
  81.   y = random (pmdModuleData->pms->cyScreen);
  82.  
  83.   SetPixel (dc, x-1, y, RGB (0, 0, 0));
  84.   SetPixel (dc, x+1, y, RGB (0, 0, 0));
  85.   SetPixel (dc, x, y-1, RGB (0, 0, 0));
  86.   SetPixel (dc, x, y+1, RGB (0, 0, 0));
  87.   SetPixel (dc, x, y, RGB (0, 0, 0));
  88.  
  89.   ReleaseDC (pmdModuleData->pms->hwndSaver, dc);
  90. }
  91. /*  fpScrIdle = Procedure (pmdModuleData: Pointer {PModuleData}); stdcall; { called at maximum rate if requested by saver }
  92.          { index 15 }*/
  93.  
  94. void LGDCALL ScrTimer (PModuleData pmdModuleData)
  95. {
  96.   HDC dc;
  97.   int x, y;
  98.  
  99.   dc = GetDC (pmdModuleData->pms->hwndSaver);
  100.  
  101.   x = random (pmdModuleData->pms->cxScreen);
  102.   y = random (pmdModuleData->pms->cyScreen);
  103.  
  104.   SetPixel (dc, x-1, y, RGB (192, 192, 192));
  105.   SetPixel (dc, x+1, y, RGB (192, 192, 192));
  106.   SetPixel (dc, x, y-1, RGB (192, 192, 192));
  107.   SetPixel (dc, x, y+1, RGB (192, 192, 192));
  108.   SetPixel (dc, x, y, RGB (255, 255, 255));
  109.  
  110.   ReleaseDC (pmdModuleData->pms->hwndSaver, dc);
  111. }
  112. /*  fpScrTimer = Procedure (pmdModuleData: Pointer {PModuleData}); stdcall;{ called by timer with selected interval }
  113.          { index 16 }*/
  114.  
  115. #define PAS2C(pas, c) {strncpy ((c), &((pas)[1]), 255);\
  116.                                          (c)[(pas)[0]] = 0;}
  117.  
  118. int LGDCALL ScrConfig (PModuleData pmdModuleData, HWND hwndParent)
  119. {
  120. /*
  121.   CHAR achString [256];
  122.   CHAR achString2 [256];
  123.   PAS2C (pmdModuleData->pms->sCallerName, achString);
  124.   PAS2C (pmdModuleData->pms->sSaverName, achString2);
  125.  
  126.   MessageBox (hwndParent,
  127.                   achString,
  128.                   achString2,
  129.                   MB_OK);
  130. */
  131.   MessageBox (hwndParent,
  132.                   "No options available!",
  133.                   "Triangle Screen Saver",
  134.                   MB_OK);
  135.  
  136.   return 0;
  137. }
  138. /*  fpScrConfig = Function (pmdModuleData: Pointer; hwndParent: HWND): integer; stdcall;
  139.          { index 17; display configuration dialog }*/
  140.  
  141.