home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Madness / VRMAD96_ONE.ISO / virtek / libex / libex149.c < prev    next >
C/C++ Source or Header  |  1995-08-24  |  2KB  |  58 lines

  1.                                            // Example: 149 from Library Reference
  2. #include "..\3D-Ware\dddware.h"
  3. #include <stdio.h>
  4. struct {
  5.   short  col;
  6.   short  numpts;
  7.   short  x1,y1;
  8.   short  x2,y2;
  9.   short  x3,y3;
  10.   short  x4,y4;
  11. } square = { 15,4,0,0,0,0,0,0,0,0 };
  12. void  DisplayColors(void);                  // Declare prototype.
  13. short main(void)
  14. {
  15.   dddInitVideo();
  16.   dddInit3d();
  17.   dddInitKeybd();
  18.   dddSetStandardPalFromPcx("EXAMPLE.PCX"); // Get the color palette from "EXAMPLE.PCX".
  19.   dddScreenSwap();                         // Initialise the screen swapping.
  20.   dddSetPal(dddstandardpal);               // Set VGA registers from the loaded palette.
  21.   DisplayColors();                         // Display the palette we have loaded.
  22.   dddScreenSwap();
  23.   while(!dddkeycode);                      // Wait for a keypress before quitting.
  24.   dddRestoreKeybd();
  25.   dddClose3d();
  26.   dddRestoreVideo();
  27.   return 0;                                // Bye.
  28. }
  29. void DisplayColors(void)
  30. {
  31. short col,x,y;
  32. char msg[20];
  33.    col = -1;
  34.    for(y=0; y<(200-15); y+=12)
  35.    {
  36.      for(x=0; x<320; x+=20)
  37.      {
  38.        col = (col + 1) & 255;
  39.        square.col = col;
  40.        square.x1  = x;
  41.        square.x2  = x+19;
  42.        square.x3  = x+19;
  43.        square.x4  = x;
  44.        square.y1  = y;
  45.        square.y2  = y;
  46.        square.y3  = y+11;
  47.        square.y4  = y+11;
  48.        dddDrawPoly((void far *)&square);   // Draw a square on the screen.
  49.        sprintf(msg,"%d",col);
  50.        dddGamePrint3(0,x+2,y+2,msg);       // Print the color number as a shadow.
  51.        dddGamePrint3(255,x+1,y+1,msg);     // Print the color number as a highlight.
  52.        dddGamePrint3(0,90+2,193+2,"PRESS ANY KEY TO EXIT.");
  53.        dddGamePrint3(255,90+1,193+1,"PRESS ANY KEY TO EXIT.");
  54.      }
  55.    }
  56. }
  57.  
  58.