home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 13 Bitmap / 13-Bitmap.zip / art256.zip / REFLOW.CMD < prev    next >
OS/2 REXX Batch file  |  1995-04-10  |  2KB  |  69 lines

  1. /* AUTO GRID ICONS */
  2. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  3. call SysLoadFuncs
  4.  
  5. PARSE ARG  ICONSIZE TILESIZE FOLNAME
  6. XYOFFSET=(TILESIZE-ICONSIZE)/2
  7. WPPOS=0
  8.  
  9. IF SYSGETEA(FOLNAME,".ICONPOS","TYPEINFO")<>0
  10.   THEN 
  11.     DO  SAY 'OOPS'
  12.         EXIT
  13.     END
  14. IF SYSGETEA(FOLNAME,".CLASSINFO","CLASSINFO")<>0
  15.   THEN 
  16.     DO  SAY 'BOOBOO'
  17.         EXIT
  18.     END
  19. KEYNAMEPOS=LASTPOS('@10',CLASSINFO)-6
  20. KEYNAME=SUBSTR(CLASSINFO,KEYNAMEPOS,9)
  21. CALL SYSINI 'USER','PM_Workplace:FolderPos',KEYNAME
  22. KEYINFO=RESULT
  23. WIDTH=(C2D(SUBSTR(KEYINFO,11,1))+C2D(SUBSTR(KEYINFO,12,1))*256)-8
  24. HEIGHT=(C2D(SUBSTR(KEYINFO,13,1))+C2D(SUBSTR(KEYINFO,14,1))*256)-32
  25. COLUMNS=TRUNC(WIDTH/TILESIZE)-1
  26. COLUMN=0
  27. ROW=0
  28. WPPOS=26
  29. DO FOREVER
  30.      
  31.   XSTRPOS=WPPOS
  32.   YSTRPOS=WPPOS+4 
  33.   XNEWPOS=COLUMN*TILESIZE+XYOFFSET
  34.   YNEWPOS=HEIGHT-((ROW+1)*TILESIZE)+XYOFFSET
  35.   IF YNEWPOS<0 THEN YNEWPOS=YNEWPOS+65536
  36.       
  37.   XNEWLOW=XNEWPOS-TRUNC(XNEWPOS/256)*256
  38.   XNEWHIGH=TRUNC(XNEWPOS/256)
  39.   YNEWLOW=YNEWPOS-TRUNC(YNEWPOS/256)*256
  40.   YNEWHIGH=TRUNC(YNEWPOS/256)
  41.   TYPEINFO=OVERLAY(D2C(XNEWLOW),TYPEINFO,XSTRPOS)
  42.   TYPEINFO=OVERLAY(D2C(XNEWHIGH),TYPEINFO,XSTRPOS+1)
  43.   TYPEINFO=OVERLAY(D2C(YNEWLOW),TYPEINFO,YSTRPOS)
  44.   TYPEINFO=OVERLAY(D2C(YNEWHIGH),TYPEINFO,YSTRPOS+1) 
  45.   COLUMN=COLUMN+1
  46.   IF COLUMN>COLUMNS
  47.      THEN DO
  48.          COLUMN=0
  49.          ROW=ROW+1
  50.          END
  51.  
  52.   IF SUBSTR(TYPEINFO,WPPOS+8,1)=D2C(0) THEN LEAVE
  53.   WPPOS=POS(D2C(0),TYPEINFO,WPPOS+8)+1
  54.  
  55.  
  56.  
  57. END
  58.  
  59. IF SYSPUTEA(FOLNAME,".ICONPOS",TYPEINFO)<>0
  60.   THEN SAY 'ERROR PUTTING EA'
  61.   
  62. EXIT
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.