home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progc / cfuncs.arj / WINTEST.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-02-22  |  4.9 KB  |  245 lines

  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include "win.h"
  4.  
  5. void main( void )
  6. {
  7.     WINHANDLE hWin[3];
  8.     short sCurWin;
  9.     int   sIn;
  10.  
  11.     enum MODE
  12.     {
  13.     eX,
  14.     eY,
  15.     eW,
  16.     eL,
  17.     eC,
  18.     eV,
  19.     eH
  20.     } eMode;
  21.  
  22.  
  23.     vWinOpen(80, 50, '▒', eWinWhite, eWinBlack);
  24.  
  25.              /* X    Y   W    L  VW  VL, HOW SWITCHES */
  26.     hWin[0] = vWinCreate (  5,    5, 10, 10, 10, 10, FRAME_SWITCH );
  27.     hWin[1] = vWinCreate (  1,    5,  5, 10, 18, 20, FRAME_SWITCH );
  28.     hWin[2] = vWinCreate (  7,    7,  5, 10, 18, 20, FRAME_SWITCH );
  29.  
  30.     if
  31.     (
  32.     !IsWinHandleValid(hWin[0]) ||
  33.     !IsWinHandleValid(hWin[1]) ||
  34.     !IsWinHandleValid(hWin[2])
  35.     )
  36.     {
  37.     printf("Error Creating Window!");
  38.     }
  39.     else
  40.     {
  41.     vWinSetTextColor( hWin[0], eWinWhite, eWinGreen);
  42.     vWinSetBorderColor( hWin[0], eWinWhite, eWinBlue);
  43.     vWinClear(hWin[0]);
  44.     vWinActivate(hWin[0]);
  45.  
  46.     vWinSetTextColor( hWin[1], eWinWhite, eWinBlue);
  47.     vWinSetBorderColor( hWin[0], eWinWhite, eWinBlue);
  48.     vWinClear(hWin[1]);
  49.     vWinActivate(hWin[1]);
  50.  
  51.     vWinSetTextColor( hWin[2], eWinWhite, eWinBlack);
  52.     vWinSetBorderColor( hWin[0], eWinWhite, eWinBlue);
  53.     vWinClear(hWin[2]);
  54.     vWinActivate(hWin[2]);
  55.  
  56.     vWinSetLocZ(hWin[0], 0);
  57.     eMode = eX;
  58.     sCurWin = 0;
  59.     sIn = '\0';
  60.     while (sIn != 'Q')
  61.     {
  62.  
  63.         vWinSetBorderColor( hWin[sCurWin], eWinBlue, eWinWhite);
  64.         sIn = getch();
  65.         switch (sIn)
  66.         {
  67.         case'V':
  68.         case'v':
  69.             eMode = eV;
  70.             break;
  71.  
  72.         case'H':
  73.         case'h':
  74.             eMode = eH;
  75.             break;
  76.  
  77.         case'C':
  78.         case'c':
  79.             eMode = eC;
  80.             break;
  81.  
  82.         case'X':
  83.         case'x':
  84.             eMode = eX;
  85.             break;
  86.  
  87.         case'Y':
  88.         case'y':
  89.             eMode = eY;
  90.             break;
  91.  
  92.         case'W':
  93.         case'w':
  94.             eMode = eW;
  95.             break;
  96.  
  97.         case'L':
  98.         case'l':
  99.             eMode = eL;
  100.             break;
  101.         case'+':
  102.             switch ( eMode )
  103.             {
  104.                 case eC:
  105.                     vWinPutS ( hWin[sCurWin], "+ WINDOW\n");
  106.                     vWinSetBorderColor( hWin[sCurWin], eWinWhite, eWinBlue);
  107.                     sCurWin += 1;
  108.                     if ( sCurWin == 3 )
  109.                     sCurWin = 0;
  110.                     break;
  111.                 case eH:
  112.                     vWinPutS ( hWin[sCurWin], "+ Origin X \n");
  113.                     vWinSetOrgXY
  114.                     (
  115.                     hWin[sCurWin],
  116.                     sWinGetOrgX(hWin[sCurWin]) + 1,
  117.                     sWinGetOrgY(hWin[sCurWin])
  118.                     );
  119.                     break;
  120.                 case eV:
  121.                     vWinPutS ( hWin[sCurWin], "+ Origin Y \n");
  122.                     vWinSetOrgXY
  123.                     (
  124.                     hWin[sCurWin],
  125.                     sWinGetOrgX(hWin[sCurWin]),
  126.                     sWinGetOrgY(hWin[sCurWin]) + 1
  127.                     );
  128.                     break;
  129.                 case eX:
  130.                     vWinPutS ( hWin[sCurWin], "+ X\n");
  131.                     vWinSetLocXY
  132.                     (
  133.                     hWin[sCurWin],
  134.                     sWinGetLocX(hWin[sCurWin]) + 1,
  135.                     sWinGetLocY(hWin[sCurWin])
  136.                     );
  137.                     break;
  138.                 case eY:
  139.                     vWinPutS ( hWin[sCurWin], "+ Y\n");
  140.                     vWinSetLocXY
  141.                     (
  142.                     hWin[sCurWin],
  143.                     sWinGetLocX(hWin[sCurWin]),
  144.                     sWinGetLocY(hWin[sCurWin]) + 1
  145.                     );
  146.                     break;
  147.                 case eW:
  148.                     vWinPutS ( hWin[sCurWin], "+ W\n");
  149.                     vWinSetLocWL
  150.                     (
  151.                     hWin[sCurWin],
  152.                     usWinGetLocW(hWin[sCurWin]) + 1,
  153.                     usWinGetLocL(hWin[sCurWin])
  154.                     );
  155.                     break;
  156.                 case eL:
  157.                     vWinPutS ( hWin[sCurWin], "+ L\n");
  158.                     vWinSetLocWL
  159.                     (
  160.                     hWin[sCurWin],
  161.                     usWinGetLocW(hWin[sCurWin]),
  162.                     usWinGetLocL(hWin[sCurWin])+1
  163.                     );
  164.                     break;
  165.             }
  166.             break;
  167.  
  168.         case'-':
  169.             switch ( eMode )
  170.             {
  171.                 case eC:
  172.                     vWinPutS ( hWin[sCurWin], "- WINDOW\n");
  173.                     vWinSetBorderColor( hWin[sCurWin], eWinWhite, eWinBlue);
  174.                     sCurWin -= 1;
  175.                     if ( sCurWin == -1 )
  176.                     sCurWin = 2;
  177.                     break;
  178.                 case eH:
  179.                     vWinPutS ( hWin[sCurWin], "- Origin X \n");
  180.                     vWinSetOrgXY
  181.                     (
  182.                     hWin[sCurWin],
  183.                     sWinGetOrgX(hWin[sCurWin]) - 1,
  184.                     sWinGetOrgY(hWin[sCurWin])
  185.                     );
  186.                     break;
  187.                 case eV:
  188.                     vWinPutS ( hWin[sCurWin], "- Origin Y \n");
  189.                     vWinSetOrgXY
  190.                     (
  191.                     hWin[sCurWin],
  192.                     sWinGetOrgX(hWin[sCurWin]),
  193.                     sWinGetOrgY(hWin[sCurWin]) - 1
  194.                     );
  195.                     break;
  196.                 case eX:
  197.                     vWinPutS ( hWin[sCurWin], "- X\n");
  198.                     vWinSetLocXY
  199.                     (
  200.                     hWin[sCurWin],
  201.                     sWinGetLocX(hWin[sCurWin]) - 1,
  202.                     sWinGetLocY(hWin[sCurWin])
  203.                     );
  204.                     break;
  205.                 case eY:
  206.                     vWinPutS ( hWin[sCurWin], "- Y\n");
  207.                     vWinSetLocXY
  208.                     (
  209.                     hWin[sCurWin],
  210.                     sWinGetLocX(hWin[sCurWin]),
  211.                     sWinGetLocY(hWin[sCurWin]) - 1
  212.                     );
  213.                     break;
  214.                 case eW:
  215.                     vWinPutS ( hWin[sCurWin], "- W\n");
  216.                     vWinSetLocWL
  217.                     (
  218.                     hWin[sCurWin],
  219.                     usWinGetLocW(hWin[sCurWin]) - 1,
  220.                     usWinGetLocL(hWin[sCurWin])
  221.                     );
  222.                     break;
  223.                 case eL:
  224.                     vWinPutS ( hWin[sCurWin], "- L\n");
  225.                     vWinSetLocWL
  226.                     (
  227.                     hWin[sCurWin],
  228.                     usWinGetLocW(hWin[sCurWin]),
  229.                     usWinGetLocL(hWin[sCurWin])-1
  230.                     );
  231.                     break;
  232.             }
  233.             break;
  234.         }
  235.  
  236.     }
  237.  
  238.     vWinDestroy( hWin[0] );
  239.     vWinDestroy( hWin[1] );
  240.     vWinDestroy( hWin[2] );
  241.     vWinClose();
  242.     }
  243.  
  244. }
  245.