home *** CD-ROM | disk | FTP | other *** search
/ Kyūkyoku!! X68000 Emulator / X68000Book.dat / mac / OLS / X68000 / Ko-Window / kow142s.lzh / parts / args.c next >
C/C++ Source or Header  |  1994-09-06  |  806b  |  47 lines

  1. #include <stdio.h>
  2.  
  3.     asm( "    .xdef    _AnalizeArgs" );
  4.     asm( "_AnalizeArgs  equ _AnalyzeArgs" );
  5.  
  6. int
  7. AnalyzeArgs( argc, argv, xp, yp, hp, vp )
  8. int                argc;
  9. unsigned char    **argv;
  10. int        *xp, *yp, *hp, *vp;
  11. {
  12.     unsigned char    **p= argv+1,
  13.                     **ap= argv;
  14.     int                hx, hy;
  15.  
  16.     WindowGetRootScroll( &hx, &hy );
  17.     *xp+= hx;
  18.     *yp+= hy;
  19.  
  20.     while( --argc ){
  21.         if( (**++ap == '/' || **ap == '-') && (*ap)[2] != '\0' ){
  22.             switch( (*ap)[1]|0x20 ){
  23.                 case 'x':
  24.                     *xp= atoi2( *ap+2 );
  25.                     break;
  26.                 case 'y':
  27.                     *yp= atoi2( *ap+2 );
  28.                     break;
  29.                 case 'h':
  30.                     if( hp ){
  31.                         *hp= atoi2( *ap+2 );
  32.                         break;
  33.                     }
  34.                 case 'v':
  35.                     if( vp ){
  36.                         *vp= atoi2( *ap+2 );
  37.                         break;
  38.                     }
  39.                 default:
  40.                     *p++= *ap;
  41.             }
  42.         }else
  43.             *p++= *ap;
  44.     }
  45.     return    p-argv;
  46. }
  47.