home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / pictures / iconedit / ICONEDIT.OPL < prev   
Text File  |  1992-06-08  |  2KB  |  158 lines

  1. APP Icons
  2.  TYPE 0
  3.  ICON "\OPD\IconEd.pic"
  4. ENDA
  5.  
  6. PROC EditIcon:
  7. GLOBAL W1%,W2%,Wb%,k%,Wi%,m%
  8. LOCAL f$(130)
  9.  
  10.  f$="\OPD\BLANK.PIC"
  11.  dINIT "Load Icon"
  12.  dFILE f$,"Name:",$01
  13.  if DIALOG=0
  14.    RETURN
  15.  endif
  16.  Wb%=gLOADBIT (f$)
  17.  
  18.  Wi%=gCREATE (138,4,100,76,1)
  19.  gBORDER $203
  20.  gAT 6,12 : gPRINT "C - Clear"
  21.  gAT 6,20 : gPRINT "B - Border"
  22.  gAT 6,28 : gPRINT "TAB - Save"
  23.  gAT 6,36 : gPRINT "Esc - Quit"
  24.  gAT 6,44 : gPRINT "'z' or Shift"
  25.  gAT 6,52 : gPRINT "     - Black"
  26.  gAT 6,60 : gPRINT "'a' or Control"
  27.  gAT 6,68 : gPRINT "     - White"
  28.  W1%=gCREATE (14,12,24,24,1)
  29.  gCOPY Wb%,0,0,24,24,3
  30.  
  31.  W2%=gCREATE (48,0,81,81,1)
  32.  gBORDER $101
  33.  gUSE W1%
  34.  
  35.  IF Wb%>0
  36.    zoom:
  37.  endif
  38.  
  39.  bitedit:
  40.  gUSE W1%
  41.  f$="\OPD\*.PIC"
  42.  if (k%=9)
  43.   dINIT "Save Icon"
  44.   dFILE f$,"Name:",$11
  45.   if DIALOG
  46.     gSAVEBIT f$
  47.     gIPRINT "Saved"
  48.     pause 20
  49.   endif
  50.  else
  51.   gIPRINT "Aborted"
  52.   pause 20 
  53.  endif
  54. ENDP
  55.  
  56.  
  57. PROC bitedit:
  58. local x%,y%
  59. gGMODE 2
  60. do
  61.  gBIG:(x%,y%,-1)
  62.  k%=0 : m%=0
  63.  while (k%=0 AND m%=0)
  64.   k%=KEY : m%=KMOD
  65.  endwh
  66.  
  67.  gBIG:(x%,y%,-1)
  68.  
  69.  if (m%=4 or k%=$61)
  70.   gBIG:(x%,y%,1)
  71.  endif
  72.  if (m%=2 or k%=$7A)
  73.   gBIG:(x%,y%,0)
  74.  endif
  75.  
  76.  if (k%=$42 or k%=$62)
  77.   gUSE W1%
  78.   gGMODE 0
  79.   gBORDER $200
  80.   zoom:
  81.  endif
  82.  
  83.  if (k%=$43 or k%=$63)
  84.   gUSE W1%
  85.   gGMODE 0
  86.   gCLS
  87.   zoom:
  88.  endif
  89.  
  90.  if (k%=256)
  91.   y%=y%-1 : if (y%<0) : y%=0 : endif
  92.   endif
  93.  if (k%=257)
  94.   y%=y%+1 : if (y%>23) : y%=23 : endif
  95.   endif
  96.  if (k%=258)
  97.   x%=x%+1 : if (x%>23) : x%=23 : endif
  98.   endif
  99.  if (k%=259)
  100.   x%=x%-1 : if (x%<0) : x%=0 : endif
  101.   endif
  102.   
  103. until k%=9 or k%=27
  104.  
  105.  
  106.  
  107. ENDP
  108.  
  109.  
  110.  
  111. PROC zoom:
  112. LOCAL a%,b%,d%(2)
  113.  
  114. gIPRINT "WAIT...",1
  115.  
  116. gUPDATE OFF
  117.  
  118. gUSE W2%
  119. gAT 4,4
  120. gFILL 72,72,1
  121. gUSE W1%
  122. b%=0
  123. do
  124.  a%=0
  125.  do
  126. rem  gUSE W1%
  127.   gPEEKLINE W1%,a%,b%,d%(),1
  128.   if d%(1)>0 : gBIG:(a%,b%,0) : endif
  129.   a%=a%+1
  130.  until a%=24
  131.  b%=b%+1
  132. until b%=24
  133.  
  134. gIPRINT ""
  135. gUPDATE ON
  136. ENDP
  137.  
  138.  
  139.  
  140. PROC gBIG:(x%,y%,c%)
  141.  gUSE W2%
  142.  if (c%<>-1)
  143.    gGMODE c%
  144.    gAT x%*3+4,y%*3+4
  145.    gFILL 3,3,c%
  146.    gUSE W1%
  147.    gGMODE c%
  148.    gAT x%,y%
  149.    gLINEBY 0,0
  150.  else
  151.   gAT x%*3+3,y%*3+3
  152.   gGMODE 2
  153.   gBOX 5,5
  154.  endif
  155.  
  156. ENDP
  157.  
  158.