Annotation of pmsdk/samples/vectfont/vf15.c, revision 1.1.1.1

1.1       root        1: /*--------------------------
                      2:    VF15.C -- Clipped Spokes
                      3:   --------------------------*/
                      4: 
                      5: #define INCL_GPI
                      6: #include <os2.h>
                      7: #include <math.h>
                      8: #include "vectfont.h"
                      9: 
                     10: VOID Display_ModSpokes (HPS hps, LONG cxClient, LONG cyClient)
                     11:      {
                     12:      static CHAR szText[] = "WOW" ;
                     13:      static LONG cbText = sizeof szText - 1 ;
                     14:      static LONG lColors[] = { CLR_BLUE, CLR_GREEN, CLR_CYAN,
                     15:                                CLR_RED,  CLR_PINK,  CLR_YELLOW,
                     16:                                CLR_WHITE } ;
                     17:      double      dMaxRadius ;
                     18:      INT         i, iNumColors = sizeof lColors / sizeof lColors[0] ;
                     19:      POINTL      ptl ;
                     20: 
                     21:      CreateVectorFont (hps, LCID_MYFONT, "Tms Rmn") ;
                     22:      GpiSetCharSet (hps, LCID_MYFONT) ;
                     23:      ScaleFontToBox (hps, cbText, szText, cxClient, cyClient) ;
                     24:      QueryStartPointInTextBox (hps, cbText, szText, &ptl) ;
                     25: 
                     26:      ColorClient (hps, cxClient, cyClient, CLR_BLACK) ;
                     27: 
                     28:      GpiBeginPath (hps, ID_PATH) ;
                     29:      GpiCharStringAt (hps, &ptl, cbText, szText) ;     // Text string
                     30:      GpiEndPath (hps) ;
                     31: 
                     32:      GpiSetLineWidthGeom (hps, 6L) ;                   // 1/12 inch
                     33:      GpiModifyPath (hps, ID_PATH, MPATH_STROKE) ;
                     34:      GpiSetClipPath (hps, ID_PATH, SCP_AND | SCP_ALTERNATE) ;
                     35: 
                     36:      dMaxRadius = sqrt (pow (cxClient / 2.0, 2.0) +
                     37:                         pow (cyClient / 2.0, 2.0)) ;
                     38:                                                        // Draw spokes
                     39:      for (i = 0 ; i < 360 ; i++)
                     40:           {
                     41:           GpiSetColor (hps, lColors[i % iNumColors]) ;
                     42: 
                     43:           ptl.x = cxClient / 2 ;
                     44:           ptl.y = cyClient / 2 ;
                     45:           GpiMove (hps, &ptl) ;
                     46: 
                     47:           ptl.x += (LONG) (dMaxRadius * cos (i * 6.28 / 360)) ;
                     48:           ptl.y += (LONG) (dMaxRadius * sin (i * 6.28 / 360)) ;
                     49:           GpiLine (hps, &ptl) ;
                     50:           }
                     51:      GpiSetCharSet (hps, LCID_DEFAULT) ;               // Clean up
                     52:      GpiDeleteSetId (hps, LCID_MYFONT) ;
                     53:      }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.