home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 13 Bitmap / 13-Bitmap.zip / art256.zip / SNAP.CMD < prev    next >
OS/2 REXX Batch file  |  1995-04-10  |  2KB  |  58 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 'ERROR'
  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.  
  26. WPPOS=26
  27.  
  28. DO FOREVER
  29.      
  30.   XSTRPOS=WPPOS
  31.   YSTRPOS=WPPOS+4
  32.   XOLDPOS=C2D(SUBSTR(TYPEINFO,XSTRPOS,1))+C2D(SUBSTR(TYPEINFO,XSTRPOS+1,1))*256
  33.   YOLDPOS=C2D(SUBSTR(TYPEINFO,YSTRPOS,1))+C2D(SUBSTR(TYPEINFO,YSTRPOS+1,1))*256
  34.   XNEWPOS=TRUNC(XOLDPOS/TILESIZE)*TILESIZE+XYOFFSET
  35.   YNEWPOS=HEIGHT-(TRUNC((HEIGHT-YOLDPOS)/TILESIZE)+1)*TILESIZE+XYOFFSET
  36.   IF YNEWPOS<0 THEN YNEWPOS=YNEWPOS+64
  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.  
  46.   IF SUBSTR(TYPEINFO,WPPOS+8,1)=D2C(0) THEN LEAVE
  47.   WPPOS=POS(D2C(0),TYPEINFO,WPPOS+8)+1
  48.  
  49.  
  50.  
  51. END
  52.  
  53. IF SYSPUTEA(FOLNAME,".ICONPOS",TYPEINFO)<>0
  54.   THEN SAY 'ERROR PUTTING EA'
  55.   
  56. EXIT
  57.  
  58.