home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / basic / PGL.ZIP / PGLCS.ZIP / GEOM.C < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-02  |  2.2 KB  |  89 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include "pgl.h"
  4.    int polydata[12] = { 500, 200,
  5.                                              100, 400,
  6.                                              300, 800,
  7.                                              600, 600,
  8.                                              900, 700,
  9.                                              750, 300 };
  10.  
  11.  
  12. main()
  13.  
  14. {
  15.    int j, err=0, pdata[12];
  16.    pgInitDrw( "geom.plt", 3001, 3001, &err );
  17.    if( err != 0 )
  18.    {
  19.       printf( "ERROR IN INITDRW ROUTINE" );
  20.       exit( 1 );
  21.    }
  22.    pgSetTextStyle( pgTRIPLEX );
  23.    pgSetTextJustify( pgCENTER, pgBOTTOM );
  24.    pgSetCharSpacing( 3 );
  25.    pgSetTextScaling( 2, 1, 2, 1 );
  26.    pgSetColor( 15 );
  27.  
  28.    pgRectangle( 0, 0, 3000, 3000, pgOUTLINE );
  29.    pgLine( 0, 1000, 3000, 1000 );
  30.    pgLine( 0, 2000, 3000, 2000 );
  31.    pgLine( 1000, 0, 1000, 3000 );
  32.    pgLine( 2000, 0, 2000, 3000 );
  33.  
  34. /* 1 */
  35.    pgArc( 500, 500, 300, 0, 210 );
  36.    pgDrawTextXY( 500, 990, "ARC" );
  37.  
  38. /* 2 */
  39.    pgSetFillStyle( 2, 1 );
  40.    pgCircle( 1500, 500, 300, pgOFILL );
  41.    pgDrawTextXY( 1500, 990, "CIRCLE" );
  42.  
  43. /* 3 */
  44.    pgEllArc( 2500, 500, 400, 300, 0, 210 );
  45.    pgDrawTextXY( 2500, 990, "ELLARC" );
  46.  
  47. /* 4 */
  48.    pgSetFillStyle( 3, 1 );
  49.    pgEllipse( 500, 1500, 400, 300, pgOFILL );
  50.    pgDrawTextXY( 500, 1990, "ELLIPSE" );
  51.  
  52. /* 5 */
  53.    pgSetFillStyle( 4, 1 );
  54.    pgPie( 1500, 1500, 300, 0, 240, pgOFILL );
  55.    pgDrawTextXY( 1500, 1990, "PIE" );
  56.  
  57. /* 6 */
  58.    for( j=0; j<12; j+=2 )
  59.    {
  60.       pdata[j]   = polydata[j]   + 2000;
  61.       pdata[j+1] = polydata[j+1] + 1000;
  62.    }
  63.    pgSetFillStyle( 5, 1 );
  64.    pgPolyLine( pdata, 6 );
  65.    pgDrawTextXY( 2500, 1990, "POLYLINE" );
  66.  
  67. /* 7 */
  68.    for( j=0; j<12; j+=2 )
  69.    {
  70.       pdata[j]   = polydata[j]   + 0;
  71.       pdata[j+1] = polydata[j+1] + 2000;
  72.    }
  73.    pgSetFillStyle( 6, 1 );
  74.    pgPolygon( pdata, 6, pgOFILL );
  75.    pgDrawTextXY( 500, 2990, "POLYGON" );
  76.  
  77. /* 8 */
  78.    pgSetFillStyle( 7, 1 );
  79.    pgRectangle( 1500-400, 2500-300, 1500+400, 2500+300, pgOFILL );
  80.    pgDrawTextXY( 1500, 2990, "RECTANGLE" );
  81.  
  82. /* 9 */
  83.    pgSetFillStyle( 8, 1 );
  84.    pgSector( 2500, 2500, 400, 300, 0, 300, pgOFILL );
  85.    pgDrawTextXY( 2500, 2990, "SECTOR" );
  86.  
  87.    pgEndDrw();
  88. }
  89.