Home » Archimedes archive » Archimedes World » AW-1993-12.adf » AWDec93 » !AWDec93/Goodies/WimpFlags/!WimpFlags/!RunImage

!AWDec93/Goodies/WimpFlags/!WimpFlags/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1993-12.adf » AWDec93
Filename: !AWDec93/Goodies/WimpFlags/!WimpFlags/!RunImage
Read OK:
File size: 3D19 bytes
Load address: 0000
Exec address: 0000
File contents
    1REM !RunImage
    2ONERROR END
    3DIM block% 1888,name% 11,ind% 1469,data% 320,mon$(7):app$="Wimp flags"
    4SYS"Wimp_Initialise",200,&4B534154,app$
    5ON ERROR OSCLI"ERROR "+REPORT$+" at line "+STR$ERL:SYS"Wimp_CloseDown":END
    6top%=ind%+1469:rep%=block%+256:men%=block%+512
    7quit%=FALSE:mpointer%=FALSE:aicon%=FALSE:aih%=0:aiwh%=0:micon%=FALSE:mwindow%=FALSE
    8menupos%=TRUE:altering%=FALSE
    9PROCbaricon
   10PROCwindows
   11ON ERROR PROCerror
   12WHILE NOTquit%
   13 SYS"Wimp_Poll",&81830-(NOT(mpointer%ORmicon%ORmwindow%)),block% TO why%
   14 CASE why% OF
   15  WHEN 0:PROCmonitor
   16  WHEN 2:SYS"Wimp_OpenWindow",,block%
   17  WHEN 3:SYS"Wimp_CloseWindow",,block%:IF!block%=wmonitor%THENmpointer%=FALSE
   18  WHEN 6:PROCclick(block%!12,block%!16,block%!8)
   19  WHEN 7:PROCdragged
   20  WHEN 8:IF block%!24=13 THEN PROCkey(!block%) ELSE SYS"Wimp_ProcessKey",block%!24
   21  WHEN 9:PROCmenuselect
   22  WHEN 17,18:PROCrecieve
   23 ENDCASE
   24ENDWHILE
   25SYS"Wimp_CloseDown":END
   26
   27DEFPROCrecieve
   28 CASE block%!16 OF
   29  WHEN 0:quit%=TRUE
   30  WHEN 3,4:
   31   SWAP block%!8,block%!12:SYS"Wimp_SendMessage",19,block%,block%!4
   32   IF block%!40=&2000 THEN
   33    $block%=FNstring(block%+44)+".Templates":SYS"OS_File",13,block% TO found%,,load%
   34    IF found%=1 AND (load%AND&FFF00)=&FEC00 THEN PROCloadtemp($block%) ELSE PROCreport("Couldn't find a Template file.")
   35   ELSE IF block%!40=&FEC THEN PROCloadtemp(FNstring(block%+44))
   36   ENDIF
   37 ENDCASE
   38ENDPROC
   39
   40DEFPROCloadtemp(path$)
   41 window%=0:ind_mem%=0:max_win%=0:SYS"Hourglass_On"
   42 F%=OPENIN(path$)
   43 SYS"OS_GBPB",3,F%,block%,20,0 TO ,,,,nextentry%
   44 more%=TRUE:WHILE more% OR INKEY-10
   45  SYS"OS_GBPB",3,F%,block%,28,nextentry%-4 TO ,,,,nextentry%
   46  id$=$(block%+12)
   47  IF block%!24=0 THEN more%=FALSE
   48  IF block%!8=1 THEN
   49   window%+=1
   50   SYS"OS_GBPB",3,F%,block%,88,!block% TO ,,,,nexticon%
   51   icon%=block%!84:window_mem%=88+32*icon%:ind_point%=nexticon%+32*icon%
   52   IF block%?74=0 AND block%?75=0 AND block%?82=0 AND block%?83=0 THEN A%=FNgetind:window_mem%+=block%!80:ind_mem%+=block%!80:IF block%!76<>-1 THEN A%=FNgetind:window_mem%+=A%:ind_mem%+=A%
   53   WHILE icon%>0
   54    icon%-=1:SYS"OS_GBPB",3,F%,block%,32,nexticon% TO ,,,,nexticon%
   55    IF (block%!16AND(1<<8))=(1<<8) THEN A%=FNgetind:window_mem%+=block%!28:ind_mem%+=block%!28:IF block%!24<>-1 THEN A%=FNgetind:window_mem%+=A%:ind_mem%+=A%
   56   ENDWHILE
   57   IF window_mem%>max_win% THEN max_win%=window_mem%
   58  ENDIF
   59 ENDWHILE
   60 CLOSE#F%
   61 $FNtext(temps%,3)=STR$window%:PROCiconshade(temps%,3,0)
   62 $FNtext(temps%,4)=STR$ind_mem%+" bytes":PROCiconshade(temps%,4,0)
   63 $FNtext(temps%,5)=STR$max_win%+" bytes":PROCiconshade(temps%,5,0)
   64 !block%=temps%:SYS"Wimp_GetWindowState",,block%
   65 block%!28=-1:SYS"Wimp_OpenWindow",,block%:SYS"Hourglass_Off"
   66ENDPROC
   67
   68DEFFNgetind
   69 A%=0:REPEAT:SYS"OS_GBPB",3,F%,rep%,1,ind_point% TO ,,,,ind_point%
   70 A%+=1:UNTIL ?rep%=13
   71=A%
   72
   73DEFFNstring(ptr%):LOCAL A$:WHILE ?ptr%<>0:A$+=CHR$(?ptr%):ptr%+=1:ENDWHILE:=A$
   74
   75DEFPROCmonitor
   76 SYS"Wimp_GetPointerInfo",,block%:window%=block%!12:icon%=block%!16
   77 mon$(0)=STR$(!block%):mon$(1)=STR$(block%!4):mon$(2)=STR$(block%!8)
   78 CASE window% OF
   79  WHEN -1:mon$(3)="Backgr'nd"
   80  WHEN -2:mon$(3)="Icon Bar"
   81 OTHERWISE:
   82  !block%=window%:SYS"Wimp_GetWindowState",,block%:mon$(3)="&"+STR$~(block%!32)
   83  IF mwindow% $FNtext(wwindow%,29)=mon$(3):PROCmakewindowflag
   84 ENDCASE
   85 !block%=window%:block%!4=icon%:SYS"Wimp_GetIconState",,block%
   86 IF icon%<0 THEN
   87  mon$(4)="Work area":mon$(6)="-":mon$(7)="-"
   88  CASE icon% OF
   89   WHEN -1:mon$(5)="Backgr'nd"
   90   WHEN -2:mon$(5)="Back"
   91   WHEN -3:mon$(5)="Close"
   92   WHEN -4:mon$(5)="Title bar"
   93   WHEN -5:mon$(5)="Toggle"
   94   WHEN -6:mon$(5)="Up"
   95   WHEN -7:mon$(5)="V. scroll"
   96   WHEN -8:mon$(5)="Down"
   97   WHEN -9:mon$(5)="Resize"
   98   WHEN -10:mon$(5)="Left"
   99   WHEN -11:mon$(5)="H. scroll"
  100   WHEN -12:mon$(5)="Right"
  101  ENDCASE
  102 ELSE
  103  mon$(4)=STR$icon%:mon$(5)="&"+STR$~(block%!24)
  104  mon$(6)=STR$(block%!8)+","+STR$(block%!12)
  105  mon$(7)=STR$(block%!16-block%!8)+","+STR$(block%!20-block%!12)
  106  IF micon% $FNtext(wicon%,33)=mon$(5):PROCmakeiconflag
  107 ENDIF
  108 IF mpointer% THEN
  109  !block%=wmonitor%:block%!8=0:block%!12=0:FOR A%=10TO17
  110   IF mon$(A%-10)<>$FNtext(wmonitor%,A%)THEN$FNtext(wmonitor%,A%)=mon$(A%-10):block%!4=A%:SYS"Wimp_SetIconState",,block%
  111  NEXT
  112 ENDIF
  113ENDPROC
  114
  115DEFPROCdragged
  116 SYS"Wimp_GetPointerInfo",,block%
  117 IF dragged%=1 THEN
  118  IF block%!16>-1 THEN
  119   IF aicon% THEN aih%=block%!16:aiwh%=block%!12:PROCiconshade(wicon%,0,0):PROCiconshade(wicon%,1,0):PROCiconshade(wicon%,14,1):PROCiconshade(wicon%,8,1)
  120   !block%=block%!12:block%!4=block%!16:SYS"Wimp_GetIconState",,block%
  121   IF ((block%!24>>8)AND1)=1 AND aicon% THEN PROCiconshade(wicon%,0,1):PROCiconshade(wicon%,1,1)
  122   $FNtext(wicon%,33)="&"+STR$~(block%!24):PROCmakeiconflag
  123  ENDIF
  124 ELSE
  125  IF block%!12<>-1 THEN
  126   !block%=block%!12:SYS"Wimp_GetWindowState",,block%
  127   $FNtext(wwindow%,29)="&"+STR$~(block%!32):PROCmakewindowflag
  128  ENDIF
  129 ENDIF
  130ENDPROC
  131
  132DEFPROCkey(window%)
  133 IF window%=wicon% THEN
  134  A$=$FNtext(wicon%,33):IF INSTR(A$,"&")=0 THEN
  135   !block%=255
  136   $(block%+4)="Click OK to make this number hexidecimal or CANCEL if it already is."
  137   SYS"Wimp_ReportError",block%,3,app$ TO ,flag%
  138   IF flag%=1 THEN A$="&"+STR$~VALA$ ELSE A$="&"+A$
  139  ENDIF
  140  A$="&"+STR$~(EVALA$):$FNtext(wicon%,33)=A$:PROCmakeiconflag:PROCaltericon
  141 ELSE
  142  A$=$FNtext(wwindow%,29):IF INSTR(A$,"&")=0 THEN
  143   !block%=255
  144   $(block%+4)="Click OK to make this number hexidecimal or CANCEL if it already is."
  145   SYS"Wimp_ReportError",block%,3,app$ TO ,flag%
  146   IF flag%=1 THEN A$="&"+STR$~VALA$ ELSE A$="&"+A$
  147  ENDIF
  148   A%=EVAL(A$):A%=A%OR(1<<31):A%=A%AND&FF1F1FFF
  149   $FNtext(wwindow%,29)="&"+STR$~A%:PROCmakewindowflag
  150 ENDIF
  151ENDPROC
  152
  153DEFPROCset(sw%,si%,sf%):!rep%=sw%:rep%!4=si%
  154 CASE sf% OF
  155  WHEN 0:rep%!8=0:rep%!12=1<<21
  156  WHEN -1:rep%!8=1<<21:rep%!12=1<<21
  157 OTHERWISE:rep%!8=0:rep%!12=0
  158 ENDCASE
  159 SYS"Wimp_SetIconState",,rep%
  160ENDPROC
  161
  162DEFPROCmakewindowflag
  163 F%=EVAL$FNtext(wwindow%,29):IF wflag%<>F% THEN
  164  wflag%=F%:PROCset(wwindow%,9,(F%AND2)=2):PROCset(wwindow%,10,(F%AND16)=16)
  165  PROCset(wwindow%,11,(F%AND32)=32):PROCset(wwindow%,12,(F%AND64)=64)
  166  PROCset(wwindow%,13,(F%AND1024)=1024):PROCset(wwindow%,14,(F%AND2048)=2048)
  167  PROCset(wwindow%,15,(F%AND4096)=4096):PROCset(wwindow%,16,(F%AND256)=256)
  168  PROCset(wwindow%,17,(F%AND512)=512):PROCiconshade(wwindow%,29,0)
  169  FORA%=24TO30:PROCset(wwindow%,A%-6,-((F%>>A%)AND1)):NEXT
  170 ENDIF
  171ENDPROC
  172
  173DEFPROCmakeiconflag
  174 F%=EVAL$FNtext(wicon%,33):IF iflag%<>F% THEN
  175  PROCiconshade(wicon%,33,0):iflag%=F%:FORA%=0TO11:PROCset(wicon%,A%,-((F%>>A%)AND1)):NEXT
  176  FORA%=21TO23:PROCset(wicon%,A%-9,-((F%>>A%)AND1)):NEXT
  177  $FNtext(wicon%,21)=STR$((F%>>16)AND31):PROCset(wicon%,21,2)
  178  B%=(F%>>12)AND15:A%=-1:RESTORE:REPEATA%+=1:READA$:UNTILA%=B%:$FNtext(wicon%,16)=A$
  179  PROCset(wicon%,16,2):B%=(F%>>24)AND15:$FNtext(wicon%,26)=STR$B%:PROCset(wicon%,26,2)
  180  !block%=wicon%:block%!4=27:block%!8=0:block%!12=15<<28:SYS"Wimp_SetIconState",,block%
  181  block%!8=B%<<28:block%!12=B%<<28:SYS"Wimp_SetIconState",,block%
  182  B%=(F%>>28)AND15:$FNtext(wicon%,29)=STR$B%
  183  block%!4=29:block%!8=0:block%!12=0:SYS"Wimp_SetIconState",,block%
  184  block%!4=30:block%!12=15<<28:SYS"Wimp_SetIconState",,block%
  185  block%!8=B%<<28:block%!12=B%<<28:SYS"Wimp_SetIconState",,block%
  186 ENDIF
  187ENDPROC
  188
  189DEFPROCmenuselect
  190 sel%=!block%
  191 CASE menuopen% OF
  192  WHEN 1:
  193   CASE sel% OF
  194    WHEN 1:
  195     !block%=wicon%:SYS"Wimp_GetWindowInfo",,block%
  196     block%!28=-1:SYS"Wimp_OpenWindow",,block%
  197    WHEN 2
  198     !block%=wwindow%:SYS"Wimp_GetWindowInfo",,block%
  199     block%!28=-1:SYS"Wimp_OpenWindow",,block%
  200    WHEN 3:
  201     CASE block%!4 OF
  202      WHEN -1,0:
  203       !block%=wmonitor%:mpointer%=NOTmpointer%
  204       IF mpointer% THEN
  205        SYS"Wimp_GetWindowInfo",,block%:block%!28=-1:SYS"Wimp_OpenWindow",,block%
  206       ELSE SYS"Wimp_CloseWindow",,block%
  207       ENDIF
  208      WHEN 1:
  209       micon%=NOTmicon%:aicon%=0:PROCiconshade(wicon%,0,0):PROCiconshade(wicon%,1,0):PROCiconshade(wicon%,8,0):PROCiconshade(wicon%,14,0)
  210      WHEN 2:mwindow%=NOTmwindow%
  211     ENDCASE
  212    WHEN 4:
  213     aicon%=NOTaicon%:IF aicon% THEN micon%=FALSE:mon%=mpointer%ORmicon%ORmwindow% ELSE aih%=0:aiwh%=0:PROCiconshade(wicon%,0,0):PROCiconshade(wicon%,1,0):PROCiconshade(wicon%,8,0):PROCiconshade(wicon%,14,0)
  214    WHEN 5:quit%=TRUE
  215   ENDCASE
  216  WHEN 16:
  217   A$=$FNtext(wicon%,16):RESTORE:A%=-1:REPEATA%+=1:READB$:UNTILA%=sel%
  218   IF A$<>B$ THEN
  219    $FNtext(wicon%,16)=B$:PROCiconshade(wicon%,16,0):F%=F%AND&FFFF0FFF:F%=F%OR(sel%<<12)
  220    iflag%=F%:$FNtext(wicon%,33)="&"+STR$~F%:PROCaltericon:PROCiconshade(wicon%,33,0)
  221   ENDIF
  222  WHEN 26,29:
  223   $FNtext(wicon%,menuopen%)=STR$(sel%)
  224   !block%=wicon%:block%!4=menuopen%:block%!8=0:block%!12=0:SYS"Wimp_SetIconState",,block%
  225   block%!4=menuopen%+1:block%!12=15<<28:SYS"Wimp_SetIconState",,block%
  226   block%!8=sel%<<28:block%!12=sel%<<28:SYS"Wimp_SetIconState",,block%
  227   F%=iflag%
  228   IF menuopen%=26 THEN
  229    F%=F%AND&F0FFFFFF:F%=F%OR(sel%<<24)
  230   ELSE
  231    F%=F%AND&FFFFFFF:F%=F%OR(sel%<<28)
  232   ENDIF
  233   IF F%<>iflag% THEN
  234    $FNtext(wicon%,33)="&"+STR$~F%:iflag%=F%:PROCaltericon:PROCiconshade(wicon%,33,0)
  235   ENDIF
  236 ENDCASE
  237 SYS"Wimp_GetPointerInfo",,block%
  238 IF block%!8=1 THEN
  239  CASE menuopen% OF
  240   WHEN 1:PROCbarmenu(0,0)
  241   WHEN 16:PROCbuttonmenu(0,0)
  242  OTHERWISE PROCcolourmenu(menuopen%,0,0)
  243  ENDCASE
  244 ENDIF
  245ENDPROC
  246
  247DEFPROCclick(window%,icon%,button%)
  248 CASE window% OF
  249  WHEN -2:
  250   CASE button% OF
  251    WHEN 1:
  252     !block%=wwindow%:SYS"Wimp_GetWindowInfo",,block%
  253     block%!28=-1:SYS"Wimp_OpenWindow",,block%
  254    WHEN 2:PROCbarmenu(!block%-64,0)
  255    WHEN 4:
  256     !block%=wicon%:SYS"Wimp_GetWindowInfo",,block%
  257     block%!28=-1:SYS"Wimp_OpenWindow",,block%
  258   ENDCASE
  259  WHEN wicon%:
  260   IF button%=1 OR button%=4 THEN
  261    F%=iflag%:E%=VAL$FNtext(wicon%,21)
  262    CASE icon% OF
  263     WHEN 0:F%=F%EOR1
  264     WHEN 1:F%=F%EOR2
  265     WHEN 2:F%=F%EOR4
  266     WHEN 3:F%=F%EOR8
  267     WHEN 4:F%=F%EOR16
  268     WHEN 5:F%=F%EOR32
  269     WHEN 6:F%=F%EOR64
  270     WHEN 7:F%=F%EOR128
  271     WHEN 8:F%=F%EOR256
  272     WHEN 9:F%=F%EOR512
  273     WHEN 10:F%=F%EOR1024
  274     WHEN 11:F%=F%EOR20048
  275     WHEN 12:F%=F%EOR(1<<21)
  276     WHEN 13:F%=F%EOR(1<<22)
  277     WHEN 14:F%=F%EOR(1<<23)
  278     WHEN 18:PROCbuttonmenu(!block%-64,block%!4)
  279     WHEN 22:E%-=1:IFE%=-1THENE%=0ELSEF%-=(1<<16)
  280     WHEN 23:E%+=1:IFE%=32THENE%=31ELSEF%+=(1<<16)
  281     WHEN 26,29:PROCcolourmenu(icon%,!block%-64,block%!4)
  282    ENDCASE
  283    IF E%<>VAL$FNtext(wicon%,21) THEN
  284     $FNtext(wicon%,21)=STR$E%
  285     !block%=wicon%:block%!4=21:block%!8=0:block%!12=0:SYS"Wimp_SetIconState",,block%
  286    ENDIF
  287    IF F%<>iflag% THEN
  288     $FNtext(wicon%,33)="&"+STR$~F%:iflag%=F%:PROCiconshade(wicon%,33,0):PROCaltericon
  289    ENDIF
  290   ELSE
  291    IF icon%=37 AND (button%AND64) THEN PROCdragicon
  292    IF button%=2 THEN PROCbarmenu(!block%-64,block%!4)
  293   ENDIF
  294  WHEN wwindow%:
  295   IF button%=1 OR button%=4 THEN
  296    F%=wflag%
  297    CASE icon% OF
  298     WHEN 9:F%=F%EOR2
  299     WHEN 10:F%=F%EOR16
  300     WHEN 11:F%=F%EOR32
  301     WHEN 12:F%=F%EOR64
  302     WHEN 13:F%=F%EOR1024
  303     WHEN 14:F%=F%EOR2048
  304     WHEN 15:F%=F%EOR4096
  305     WHEN 16:F%=F%EOR256
  306     WHEN 17:F%=F%EOR512
  307     WHEN 18,19,20,21,22,23,24:F%=F%EOR(1<<(icon%+6))
  308    ENDCASE
  309    IF F%<>wflag% THEN
  310     $FNtext(wwindow%,29)="&"+STR$~F%:wflag%=F%:PROCiconshade(wwindow%,29,0)
  311    ENDIF
  312   ELSE
  313    IF (button%AND64) AND icon%=28 THEN PROCdragwindow
  314    IF button%=2 THEN PROCbarmenu(!block%-64,block%!4)
  315   ENDIF
  316 ENDCASE
  317ENDPROC
  318
  319DEFPROCaltericon
  320 IF aicon% AND aiwh%<>0 THEN
  321  altering%=TRUE
  322  !rep%=aiwh%:rep%!4=aih%:rep%!8=0:rep%!12=&FFFFFFFF:SYS"Wimp_SetIconState",,rep%
  323  rep%!8=iflag%:rep%!12=iflag%:SYS"Wimp_SetIconState",,rep%:altering%=FALSE
  324 ENDIF
  325ENDPROC
  326
  327DEFPROCiconshade(window%,icon%,flag%)
  328 !rep%=window%:rep%!4=icon%:rep%!8=flag%*(1<<22):rep%!12=1<<22
  329 SYS"Wimp_SetIconState",,rep%
  330ENDPROC
  331
  332DEFPROCdragwindow:dragged%=2
  333 !block%=wwindow%:SYS"Wimp_GetWindowState",,block%
  334 x%=block%!4-block%!20:y%=block%!16-block%!24
  335 block%!4=28:SYS "Wimp_GetIconState",,block%
  336 block%!4=5:block%!8=x%+block%!8:block%!12=y%+block%!12:block%!16=x%+block%!16
  337 block%!20=y%+block%!20:block%!24=0:block%!28=0:block%!32=&7FFFFFFF:block%!36=&7FFFFFFF
  338 SYS "Wimp_DragBox",,block%
  339ENDPROC
  340
  341DEFPROCdragicon:dragged%=1
  342 !block%=wicon%:SYS"Wimp_GetWindowState",,block%
  343 x%=block%!4-block%!20:y%=block%!16-block%!24
  344 block%!4=37:SYS "Wimp_GetIconState",,block%
  345 block%!4=5:block%!8=x%+block%!8:block%!12=y%+block%!12:block%!16=x%+block%!16
  346 block%!20=y%+block%!20:block%!24=0:block%!28=0:block%!32=&7FFFFFFF:block%!36=&7FFFFFFF
  347 SYS "Wimp_DragBox",,block%
  348ENDPROC
  349
  350DEFFNtext(window%,icon%):!rep%=window%:rep%!4=icon%:SYS"Wimp_GetIconState",,rep%:=rep%!28
  351
  352DEFPROCbaricon
  353 !block%=-1:block%!4=0:block%!8=0:block%!12=68:block%!16=68:block%!20=&3002
  354 $(block%+24)="!wimpflags":SYS"Wimp_CreateIcon",,block% TO bar%
  355ENDPROC
  356
  357DEFPROCwindows
  358 SYS"Wimp_OpenTemplate",,"<Obey$Dir>.Templates":A%=ind%
  359 $name%="Icon":SYS"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 TO ,,ind%
  360 SYS"Wimp_CreateWindow",,block% TO wicon%
  361 $name%="Window":SYS"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 TO ,,ind%
  362 SYS"Wimp_CreateWindow",,block% TO wwindow%
  363 $name%="Info":SYS"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 TO ,,ind%
  364 SYS"Wimp_CreateWindow",,block% TO winfo%
  365 $name%="Monitor":SYS"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 TO ,,ind%
  366 SYS"Wimp_CreateWindow",,block% TO wmonitor% 
  367 $name%="Temps":SYS"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 TO ,,ind%
  368 SYS"Wimp_CreateWindow",,block% TO temps%
  369 SYS"Wimp_CloseTemplate"
  370 $FNtext(wicon%,33)="&C7000000":$FNtext(wwindow%,29)="&80000000"
  371 iflag%=&C7000000:wflag%=&80000000
  372ENDPROC
  373
  374DEFPROCbarmenu(X%,Y%)
  375 $men%="Wimp Flags":A%=men%:menuopen%=1
  376 men%!12=&00070207:men%!16=13*16:men%!20=44:men%!24=0
  377 men%+=28:men%!0=0:men%!4=winfo%:men%!8=&7000021:$(men%+12)="Info"
  378 men%+=24:men%!0=0:men%!4=0:men%!8=&7000021:$(men%+12)="Icon flags"
  379 men%+=24:men%!0=0:men%!4=0:men%!8=&7000021:$(men%+12)="Window flags"
  380 men%+=24:men%!0=-mpointer%:B%=men%+4:men%!8=&7000021:$(men%+12)="Monitor"
  381 men%+=24:men%!0=-aicon%:men%!4=0:men%!8=&7000021:$(men%+12)="Alter icon"
  382 men%+=24:men%!0=128:men%!4=0:men%!8=&7000021:$(men%+12)="Quit"
  383 IF Y%=0 THEN Y%=96+44*((men%-A%+4)/24)
  384 men%+=24:!B%=men%
  385 $men%="Monitor":men%!12=&00070207:men%!16=8*16:men%!20=44:men%!24=0
  386 men%+=28:men%!0=-mpointer%:men%!4=0:men%!8=&7000021:$(men%+12)="Pointer"
  387 men%+=24:men%!0=-micon%:men%!4=0:men%!8=&7000021:$(men%+12)="Icons"
  388 men%+=24:men%!0=128-mwindow%:men%!4=0:men%!8=&7000021:$(men%+12)="Windows"
  389 men%=A%:SYS"Wimp_CreateMenu",,men%,X%,Y%
  390ENDPROC
  391
  392DEFPROCcolourmenu(B%,X%,Y%):LOCALA%
  393 menuopen%=B%:IF B%=26 THEN $men%="Foreground"ELSE $men%="Background"
  394 A%=men%:men%!12=&00070207:men%!16=144:men%!20=44:men%!24=0:men%+=4
  395 FOR B%=0TO15:men%+=24:!men%=0:men%!4=0:men%!8=&7000029+(B%<<28)
  396 IF B%>4 AND B%<9 THEN men%!8-=&7000000
  397 $(men%+12)=STR$B%:NEXT:!men%=+128:men%=A%
  398 IF menupos% THEN PROCfindxy
  399 SYS"Wimp_CreateMenu",,men%,X%,Y%
  400ENDPROC
  401
  402DEFPROCbuttonmenu(X%,Y%):LOCALA%:RESTORE
  403 menuopen%=16:$men%="Button type"
  404 A%=men%:men%!12=&00070207:men%!16=18*16:men%!20=44:men%!24=0:men%+=4
  405 FOR B%=0TO15:men%+=24:!men%=0:men%!4=0:men%!8=&7000021:READA$
  406  REM IF LENA$>12 THEN
  407   men%!8+=1<<8:$(data%+B%*20)=A$:$(data%+20*B%+18)=""
  408   men%!12=data%+20*B%:men%!16=data%+20*B%+18:men%!20=LEN(A$)-1
  409  REM ELSE $(men%+12)=A$
  410  REM ENDIF
  411 NEXT
  412 IF menupos% THEN PROCfindxy
  413 !men%+=128:men%=A%:SYS"Wimp_CreateMenu",,men%,X%,Y%
  414ENDPROC
  415
  416DATA Never,Always,Auto-repeat,Click,Release,Double click,Click/Drag,Release/Drag
  417DATA Double/Drag,Menu icon,Double/Click/Drag,Radio,12 (Reserved),13 (Reserved)
  418DATA Write/Click/Drag,Writable
  419
  420DEFPROCfindxy
  421 !block%=wicon%:SYS"Wimp_GetWindowState",,block%
  422 X%=block%!12+4:Y%=block%!16
  423ENDPROC
  424
  425DEFPROCerror:!block%=255
  426 IF ERR=648 AND altering% THEN
  427  PROCreport("The icon you are altering no longer exists, it will be forgotten.")
  428  aih%=0:aiwh%=0
  429 ELSE
  430  $(block%+4)=REPORT$+" "+STR$ERL+".  Click OK continue or CANCEL to quit application."
  431  SYS"Wimp_ReportError",block%,3,app$ TO ,flag%
  432  IF flag%=2 THEN SYS"Wimp_CloseDown":END
  433 ENDIF
  434ENDPROC
  435
  436DEFPROCiniterror
  437 ONERROR PROCerror
  438 !block%=255:$(block%+4)=REPORT$+".  WimpFlags must quit"
  439 SYS"Wimp_ReportError",block%,1,app$:SYS"Wimp_CloseDown":END
  440ENDPROC
  441
  442DEFPROCreport(rep$)
  443 !rep%=255:$(rep%+4)=rep$+CHR$0:SYS"Wimp_ReportError",rep%,17,"Message from "+app$
  444ENDPROC
� !RunImage
� �
H� block% 1888,name% 11,ind% 1469,data% 320,mon$(7):app$="Wimp flags"
*ș"Wimp_Initialise",200,&4B534154,app$
8� � �"ERROR "+�$+" at line "+Þ:ș"Wimp_CloseDown":�
2top%=ind%+1469:rep%=block%+256:men%=block%+512
Cquit%=�:mpointer%=�:aicon%=�:aih%=0:aiwh%=0:micon%=�:mwindow%=�
menupos%=�:altering%=�
	�baricon

�windows
� � �error

ȕ �quit%

F ș"Wimp_Poll",&81830-(�(mpointer%�micon%�mwindow%)),block% � why%
 Ȏ why% �
  � 0:�monitor
%  � 2:ș"Wimp_OpenWindow",,block%
E  � 3:ș"Wimp_CloseWindow",,block%:�!block%=wmonitor%�mpointer%=�
.  � 6:�click(block%!12,block%!16,block%!8)
  � 7:�dragged
H  � 8:� block%!24=13 � �key(!block%) � ș"Wimp_ProcessKey",block%!24
  � 9:�menuselect
  � 17,18:�recieve
 �
�
ș"Wimp_CloseDown":�


��recieve
 Ȏ block%!16 �
  � 0:quit%=�
  � 3,4:
D   Ȕ block%!8,block%!12:ș"Wimp_SendMessage",19,block%,block%!4
    � block%!40=&2000 �
!U    $block%=�string(block%+44)+".Templates":ș"OS_File",13,block% � found%,,load%
"k    � found%=1 � (load%�&FFF00)=&FEC00 � �loadtemp($block%) � �report("Couldn't find a Template file.")
#9   � � block%!40=&FEC � �loadtemp(�string(block%+44))
$   �
% �
&�
'
(��loadtemp(path$)
)5 window%=0:ind_mem%=0:max_win%=0:ș"Hourglass_On"
* F%=�(path$)
+2 ș"OS_GBPB",3,F%,block%,20,0 � ,,,,nextentry%
, more%=�:ȕ more% � �-10
->  ș"OS_GBPB",3,F%,block%,28,nextentry%-4 � ,,,,nextentry%
.  id$=$(block%+12)
/  � block%!24=0 � more%=�
0  � block%!8=1 �
1   window%+=1
29   ș"OS_GBPB",3,F%,block%,88,!block% � ,,,,nexticon%
3L   icon%=block%!84:window_mem%=88+32*icon%:ind_point%=nexticon%+32*icon%
4�   � block%?74=0 � block%?75=0 � block%?82=0 � block%?83=0 � A%=�getind:window_mem%+=block%!80:ind_mem%+=block%!80:� block%!76<>-1 � A%=�getind:window_mem%+=A%:ind_mem%+=A%
5   ȕ icon%>0
6E    icon%-=1:ș"OS_GBPB",3,F%,block%,32,nexticon% � ,,,,nexticon%
7�    � (block%!16�(1<<8))=(1<<8) � A%=�getind:window_mem%+=block%!28:ind_mem%+=block%!28:� block%!24<>-1 � A%=�getind:window_mem%+=A%:ind_mem%+=A%
8   �
94   � window_mem%>max_win% � max_win%=window_mem%
:  �
; �
<	 �#F%
=5 $�text(temps%,3)=�window%:�iconshade(temps%,3,0)
>? $�text(temps%,4)=�ind_mem%+" bytes":�iconshade(temps%,4,0)
?? $�text(temps%,5)=�max_win%+" bytes":�iconshade(temps%,5,0)
@3 !block%=temps%:ș"Wimp_GetWindowState",,block%
A? block%!28=-1:ș"Wimp_OpenWindow",,block%:ș"Hourglass_Off"
B�
C
Dݤgetind
E? A%=0:�:ș"OS_GBPB",3,F%,rep%,1,ind_point% � ,,,,ind_point%
F A%+=1:� ?rep%=13
G=A%
H
I>ݤstring(ptr%):� A$:ȕ ?ptr%<>0:A$+=�(?ptr%):ptr%+=1:�:=A$
J
K
��monitor
LF ș"Wimp_GetPointerInfo",,block%:window%=block%!12:icon%=block%!16
M? mon$(0)=�(!block%):mon$(1)=�(block%!4):mon$(2)=�(block%!8)
N Ȏ window% �
O  � -1:mon$(3)="Backgr'nd"
P  � -2:mon$(3)="Icon Bar"
Q :
RO  !block%=window%:ș"Wimp_GetWindowState",,block%:mon$(3)="&"+�~(block%!32)
S<  � mwindow% $�text(wwindow%,29)=mon$(3):�makewindowflag
T �
UA !block%=window%:block%!4=icon%:ș"Wimp_GetIconState",,block%
V � icon%<0 �
W1  mon$(4)="Work area":mon$(6)="-":mon$(7)="-"
X  Ȏ icon% �
Y   � -1:mon$(5)="Backgr'nd"
Z   � -2:mon$(5)="Back"
[   � -3:mon$(5)="Close"
\   � -4:mon$(5)="Title bar"
]   � -5:mon$(5)="Toggle"
^   � -6:mon$(5)="Up"
_   � -7:mon$(5)="V. scroll"
`   � -8:mon$(5)="Down"
a   � -9:mon$(5)="Resize"
b   � -10:mon$(5)="Left"
c    � -11:mon$(5)="H. scroll"
d   � -12:mon$(5)="Right"
e  �
f �
g.  mon$(4)=�icon%:mon$(5)="&"+�~(block%!24)
h*  mon$(6)=�(block%!8)+","+�(block%!12)
i>  mon$(7)=�(block%!16-block%!8)+","+�(block%!20-block%!12)
j6  � micon% $�text(wicon%,33)=mon$(5):�makeiconflag
k �
l � mpointer% �
m9  !block%=wmonitor%:block%!8=0:block%!12=0:� A%=10�17
nu   � mon$(A%-10)<>$�text(wmonitor%,A%)�$�text(wmonitor%,A%)=mon$(A%-10):block%!4=A%:ș"Wimp_SetIconState",,block%
o  �
p �
q�
r
s
��dragged
t$ ș"Wimp_GetPointerInfo",,block%
u � dragged%=1 �
v  � block%!16>-1 �
w�   � aicon% � aih%=block%!16:aiwh%=block%!12:�iconshade(wicon%,0,0):�iconshade(wicon%,1,0):�iconshade(wicon%,14,1):�iconshade(wicon%,8,1)
xI   !block%=block%!12:block%!4=block%!16:ș"Wimp_GetIconState",,block%
yV   � ((block%!24>>8)�1)=1 � aicon% � �iconshade(wicon%,0,1):�iconshade(wicon%,1,1)
z8   $�text(wicon%,33)="&"+�~(block%!24):�makeiconflag
{  �
| �
}  � block%!12<>-1 �
~8   !block%=block%!12:ș"Wimp_GetWindowState",,block%
<   $�text(wwindow%,29)="&"+�~(block%!32):�makewindowflag
�  �
� �
��
�
���key(window%)
� � window%=wicon% �
�)  A$=$�text(wicon%,33):� �A$,"&")=0 �
�   !block%=255
�Y   $(block%+4)="Click OK to make this number hexidecimal or CANCEL if it already is."
�2   ș"Wimp_ReportError",block%,3,app$ � ,flag%
�+   � flag%=1 � A$="&"+�~�A$ � A$="&"+A$
�  �
�B  A$="&"+�~(�A$):$�text(wicon%,33)=A$:�makeiconflag:�altericon
� �
�+  A$=$�text(wwindow%,29):� �A$,"&")=0 �
�   !block%=255
�Y   $(block%+4)="Click OK to make this number hexidecimal or CANCEL if it already is."
�2   ș"Wimp_ReportError",block%,3,app$ � ,flag%
�+   � flag%=1 � A$="&"+�~�A$ � A$="&"+A$
�  �
�-   A%=�(A$):A%=A%�(1<<31):A%=A%�&FF1F1FFF
�3   $�text(wwindow%,29)="&"+�~A%:�makewindowflag
� �
��
�
�+��set(sw%,si%,sf%):!rep%=sw%:rep%!4=si%
�
 Ȏ sf% �
�   � 0:rep%!8=0:rep%!12=1<<21
�%  � -1:rep%!8=1<<21:rep%!12=1<<21
� :rep%!8=0:rep%!12=0
� �
�  ș"Wimp_SetIconState",,rep%
��
�
���makewindowflag
�+ F%=�$�text(wwindow%,29):� wflag%<>F% �
�F  wflag%=F%:�set(wwindow%,9,(F%�2)=2):�set(wwindow%,10,(F%�16)=16)
�?  �set(wwindow%,11,(F%�32)=32):�set(wwindow%,12,(F%�64)=64)
�G  �set(wwindow%,13,(F%�1024)=1024):�set(wwindow%,14,(F%�2048)=2048)
�E  �set(wwindow%,15,(F%�4096)=4096):�set(wwindow%,16,(F%�256)=256)
�>  �set(wwindow%,17,(F%�512)=512):�iconshade(wwindow%,29,0)
�3  �A%=24�30:�set(wwindow%,A%-6,-((F%>>A%)�1)):�
� �
��
�
���makeiconflag
�) F%=�$�text(wicon%,33):� iflag%<>F% �
�P  �iconshade(wicon%,33,0):iflag%=F%:�A%=0�11:�set(wicon%,A%,-((F%>>A%)�1)):�
�1  �A%=21�23:�set(wicon%,A%-9,-((F%>>A%)�1)):�
�8  $�text(wicon%,21)=�((F%>>16)�31):�set(wicon%,21,2)
�C  B%=(F%>>12)�15:A%=-1:�:�A%+=1:�A$:�A%=B%:$�text(wicon%,16)=A$
�N  �set(wicon%,16,2):B%=(F%>>24)�15:$�text(wicon%,26)=�B%:�set(wicon%,26,2)
�Z  !block%=wicon%:block%!4=27:block%!8=0:block%!12=15<<28:ș"Wimp_SetIconState",,block%
�D  block%!8=B%<<28:block%!12=B%<<28:ș"Wimp_SetIconState",,block%
�*  B%=(F%>>28)�15:$�text(wicon%,29)=�B%
�F  block%!4=29:block%!8=0:block%!12=0:ș"Wimp_SetIconState",,block%
�@  block%!4=30:block%!12=15<<28:ș"Wimp_SetIconState",,block%
�D  block%!8=B%<<28:block%!12=B%<<28:ș"Wimp_SetIconState",,block%
� �
��
�
���menuselect
� sel%=!block%
� Ȏ menuopen% �
�
  � 1:
�   Ȏ sel% �
�    � 1:
�6     !block%=wicon%:ș"Wimp_GetWindowInfo",,block%
�1     block%!28=-1:ș"Wimp_OpenWindow",,block%
�    � 2
�8     !block%=wwindow%:ș"Wimp_GetWindowInfo",,block%
�1     block%!28=-1:ș"Wimp_OpenWindow",,block%
�    � 3:
�     Ȏ block%!4 �
�      � -1,0:
�1       !block%=wmonitor%:mpointer%=�mpointer%
�       � mpointer% �
�S        ș"Wimp_GetWindowInfo",,block%:block%!28=-1:ș"Wimp_OpenWindow",,block%
�)       � ș"Wimp_CloseWindow",,block%
�       �
�      � 1:
�       micon%=�micon%:aicon%=0:�iconshade(wicon%,0,0):�iconshade(wicon%,1,0):�iconshade(wicon%,8,0):�iconshade(wicon%,14,0)
�       � 2:mwindow%=�mwindow%
�
     �
�    � 4:
ո     aicon%=�aicon%:� aicon% � micon%=�:mon%=mpointer%�micon%�mwindow% � aih%=0:aiwh%=0:�iconshade(wicon%,0,0):�iconshade(wicon%,1,0):�iconshade(wicon%,8,0):�iconshade(wicon%,14,0)
�    � 5:quit%=�
�   �
�  � 16:
�7   A$=$�text(wicon%,16):�:A%=-1:�A%+=1:�B$:�A%=sel%
�   � A$<>B$ �
�U    $�text(wicon%,16)=B$:�iconshade(wicon%,16,0):F%=F%�&FFFF0FFF:F%=F%�(sel%<<12)
�O    iflag%=F%:$�text(wicon%,33)="&"+�~F%:�altericon:�iconshade(wicon%,33,0)
�   �
�  � 26,29:
�'   $�text(wicon%,menuopen%)=�(sel%)
�]   !block%=wicon%:block%!4=menuopen%:block%!8=0:block%!12=0:ș"Wimp_SetIconState",,block%
�J   block%!4=menuopen%+1:block%!12=15<<28:ș"Wimp_SetIconState",,block%
�I   block%!8=sel%<<28:block%!12=sel%<<28:ș"Wimp_SetIconState",,block%
�   F%=iflag%
�   � menuopen%=26 �
�(    F%=F%�&F0FFFFFF:F%=F%�(sel%<<24)
�   �
�'    F%=F%�&FFFFFFF:F%=F%�(sel%<<28)
�   �
�   � F%<>iflag% �
�O    $�text(wicon%,33)="&"+�~F%:iflag%=F%:�altericon:�iconshade(wicon%,33,0)
�   �
� �
�$ ș"Wimp_GetPointerInfo",,block%
� � block%!8=1 �
�  Ȏ menuopen% �
�   � 1:�barmenu(0,0)
�   � 16:�buttonmenu(0,0)
�"   �colourmenu(menuopen%,0,0)
�  �
� �
��
�
�"��click(window%,icon%,button%)
� Ȏ window% �
�  � -2:
�   Ȏ button% �
�    � 1:
�8     !block%=wwindow%:ș"Wimp_GetWindowInfo",,block%
�1     block%!28=-1:ș"Wimp_OpenWindow",,block%
�"    � 2:�barmenu(!block%-64,0)
�    � 4:
6     !block%=wicon%:ș"Wimp_GetWindowInfo",,block%
1     block%!28=-1:ș"Wimp_OpenWindow",,block%
   �
  � wicon%:
    � button%=1 � button%=4 �
'    F%=iflag%:E%=�$�text(wicon%,21)
    Ȏ icon% �
     � 0:F%=F%�1
     � 1:F%=F%�2
	     � 2:F%=F%�4

     � 3:F%=F%�8
     � 4:F%=F%�16
     � 5:F%=F%�32

     � 6:F%=F%�64
     � 7:F%=F%�128
     � 8:F%=F%�256
     � 9:F%=F%�512
     � 10:F%=F%�1024
     � 11:F%=F%�20048
     � 12:F%=F%�(1<<21)
     � 13:F%=F%�(1<<22)
     � 14:F%=F%�(1<<23)
.     � 18:�buttonmenu(!block%-64,block%!4)
+     � 22:E%-=1:�E%=-1�E%=0�F%-=(1<<16)
,     � 23:E%+=1:�E%=32�E%=31�F%+=(1<<16)
7     � 26,29:�colourmenu(icon%,!block%-64,block%!4)
	    �
"    � E%<>�$�text(wicon%,21) �
     $�text(wicon%,21)=�E%
X     !block%=wicon%:block%!4=21:block%!8=0:block%!12=0:ș"Wimp_SetIconState",,block%
	    �
    � F%<>iflag% �
 P     $�text(wicon%,33)="&"+�~F%:iflag%=F%:�iconshade(wicon%,33,0):�altericon
!	    �
"   �
#-    � icon%=37 � (button%�64) � �dragicon
$3    � button%=2 � �barmenu(!block%-64,block%!4)
%   �
&  � wwindow%:
'    � button%=1 � button%=4 �
(    F%=wflag%
)    Ȏ icon% �
*     � 9:F%=F%�2
+     � 10:F%=F%�16
,     � 11:F%=F%�32
-     � 12:F%=F%�64
.     � 13:F%=F%�1024
/     � 14:F%=F%�2048
0     � 15:F%=F%�4096
1     � 16:F%=F%�256
2     � 17:F%=F%�512
34     � 18,19,20,21,22,23,24:F%=F%�(1<<(icon%+6))
4	    �
5    � F%<>wflag% �
6I     $�text(wwindow%,29)="&"+�~F%:wflag%=F%:�iconshade(wwindow%,29,0)
7	    �
8   �
9/    � (button%�64) � icon%=28 � �dragwindow
:3    � button%=2 � �barmenu(!block%-64,block%!4)
;   �
< �
=�
>
?��altericon
@ � aicon% � aiwh%<>0 �
A  altering%=�
BT  !rep%=aiwh%:rep%!4=aih%:rep%!8=0:rep%!12=&FFFFFFFF:ș"Wimp_SetIconState",,rep%
CJ  rep%!8=iflag%:rep%!12=iflag%:ș"Wimp_SetIconState",,rep%:altering%=�
D �
E�
F
G$��iconshade(window%,icon%,flag%)
HB !rep%=window%:rep%!4=icon%:rep%!8=flag%*(1<<22):rep%!12=1<<22
I  ș"Wimp_SetIconState",,rep%
J�
K
L��dragwindow:dragged%=2
M5 !block%=wwindow%:ș"Wimp_GetWindowState",,block%
N1 x%=block%!4-block%!20:y%=block%!16-block%!24
O/ block%!4=28:ș "Wimp_GetIconState",,block%
PR block%!4=5:block%!8=x%+block%!8:block%!12=y%+block%!12:block%!16=x%+block%!16
Q[ block%!20=y%+block%!20:block%!24=0:block%!28=0:block%!32=&7FFFFFFF:block%!36=&7FFFFFFF
R ș "Wimp_DragBox",,block%
S�
T
U��dragicon:dragged%=1
V3 !block%=wicon%:ș"Wimp_GetWindowState",,block%
W1 x%=block%!4-block%!20:y%=block%!16-block%!24
X/ block%!4=37:ș "Wimp_GetIconState",,block%
YR block%!4=5:block%!8=x%+block%!8:block%!12=y%+block%!12:block%!16=x%+block%!16
Z[ block%!20=y%+block%!20:block%!24=0:block%!28=0:block%!32=&7FFFFFFF:block%!36=&7FFFFFFF
[ ș "Wimp_DragBox",,block%
\�
]
^Yݤtext(window%,icon%):!rep%=window%:rep%!4=icon%:ș"Wimp_GetIconState",,rep%:=rep%!28
_
`
��baricon
aO !block%=-1:block%!4=0:block%!8=0:block%!12=68:block%!16=68:block%!20=&3002
bA $(block%+24)="!wimpflags":ș"Wimp_CreateIcon",,block% � bar%
c�
d
e
��windows
f: ș"Wimp_OpenTemplate",,"<Obey$Dir>.Templates":A%=ind%
gN $name%="Icon":ș"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 � ,,ind%
h+ ș"Wimp_CreateWindow",,block% � wicon%
iP $name%="Window":ș"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 � ,,ind%
j- ș"Wimp_CreateWindow",,block% � wwindow%
kN $name%="Info":ș"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 � ,,ind%
l+ ș"Wimp_CreateWindow",,block% � winfo%
mQ $name%="Monitor":ș"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 � ,,ind%
n/ ș"Wimp_CreateWindow",,block% � wmonitor% 
oO $name%="Temps":ș"Wimp_LoadTemplate",,block%,ind%,top%,-1,name%,0 � ,,ind%
p+ ș"Wimp_CreateWindow",,block% � temps%
q ș"Wimp_CloseTemplate"
rB $�text(wicon%,33)="&C7000000":$�text(wwindow%,29)="&80000000"
s& iflag%=&C7000000:wflag%=&80000000
t�
u
v��barmenu(X%,Y%)
w+ $men%="Wimp Flags":A%=men%:menuopen%=1
x9 men%!12=&00070207:men%!16=13*16:men%!20=44:men%!24=0
yF men%+=28:men%!0=0:men%!4=winfo%:men%!8=&7000021:$(men%+12)="Info"
zG men%+=24:men%!0=0:men%!4=0:men%!8=&7000021:$(men%+12)="Icon flags"
{I men%+=24:men%!0=0:men%!4=0:men%!8=&7000021:$(men%+12)="Window flags"
|N men%+=24:men%!0=-mpointer%:B%=men%+4:men%!8=&7000021:$(men%+12)="Monitor"
}M men%+=24:men%!0=-aicon%:men%!4=0:men%!8=&7000021:$(men%+12)="Alter icon"
~C men%+=24:men%!0=128:men%!4=0:men%!8=&7000021:$(men%+12)="Quit"
' � Y%=0 � Y%=96+44*((men%-A%+4)/24)
� men%+=24:!B%=men%
�H $men%="Monitor":men%!12=&00070207:men%!16=8*16:men%!20=44:men%!24=0
�M men%+=28:men%!0=-mpointer%:men%!4=0:men%!8=&7000021:$(men%+12)="Pointer"
�H men%+=24:men%!0=-micon%:men%!4=0:men%!8=&7000021:$(men%+12)="Icons"
�O men%+=24:men%!0=128-mwindow%:men%!4=0:men%!8=&7000021:$(men%+12)="Windows"
�, men%=A%:ș"Wimp_CreateMenu",,men%,X%,Y%
��
�
���colourmenu(B%,X%,Y%):�A%
�B menuopen%=B%:� B%=26 � $men%="Foreground"� $men%="Background"
�G A%=men%:men%!12=&00070207:men%!16=144:men%!20=44:men%!24=0:men%+=4
�A � B%=0�15:men%+=24:!men%=0:men%!4=0:men%!8=&7000029+(B%<<28)
�% � B%>4 � B%<9 � men%!8-=&7000000
�( $(men%+12)=�B%:�:!men%=+128:men%=A%
� � menupos% � �findxy
�$ ș"Wimp_CreateMenu",,men%,X%,Y%
��
�
���buttonmenu(X%,Y%):�A%:�
�% menuopen%=16:$men%="Button type"
�I A%=men%:men%!12=&00070207:men%!16=18*16:men%!20=44:men%!24=0:men%+=4
�< � B%=0�15:men%+=24:!men%=0:men%!4=0:men%!8=&7000021:�A$
�  � IF LENA$>12 THEN
�:   men%!8+=1<<8:$(data%+B%*20)=A$:$(data%+20*B%+18)=""
�A   men%!12=data%+20*B%:men%!16=data%+20*B%+18:men%!20=�(A$)-1
�  � ELSE $(men%+12)=A$
�
  � ENDIF
� �
� � menupos% � �findxy
�7 !men%+=128:men%=A%:ș"Wimp_CreateMenu",,men%,X%,Y%
��
�
�Q� Never,Always,Auto-repeat,Click,Release,Double click,Click/Drag,Release/Drag
�O� Double/Drag,Menu icon,Double/Click/Drag,Radio,12 (Reserved),13 (Reserved)
�� Write/Click/Drag,Writable
�
���findxy
�3 !block%=wicon%:ș"Wimp_GetWindowState",,block%
�  X%=block%!12+4:Y%=block%!16
��
�
���error:!block%=255
� � �=648 � altering% �
�R  �report("The icon you are altering no longer exists, it will be forgotten.")
�  aih%=0:aiwh%=0
� �
�Q  $(block%+4)=�$+" "+Þ+".  Click OK continue or CANCEL to quit application."
�1  ș"Wimp_ReportError",block%,3,app$ � ,flag%
�&  � flag%=2 � ș"Wimp_CloseDown":�
� �
��
�
���initerror
� � �error
�8 !block%=255:$(block%+4)=�$+".  WimpFlags must quit"
�< ș"Wimp_ReportError",block%,1,app$:ș"Wimp_CloseDown":�
��
�
���report(rep$)
�R !rep%=255:$(rep%+4)=rep$+�0:ș"Wimp_ReportError",rep%,17,"Message from "+app$
��
�
00000000  0d 00 01 0f f4 20 21 52  75 6e 49 6d 61 67 65 0d  |..... !RunImage.|
00000010  00 02 08 ee 85 20 e0 0d  00 03 48 de 20 62 6c 6f  |..... ....H. blo|
00000020  63 6b 25 20 31 38 38 38  2c 6e 61 6d 65 25 20 31  |ck% 1888,name% 1|
00000030  31 2c 69 6e 64 25 20 31  34 36 39 2c 64 61 74 61  |1,ind% 1469,data|
00000040  25 20 33 32 30 2c 6d 6f  6e 24 28 37 29 3a 61 70  |% 320,mon$(7):ap|
00000050  70 24 3d 22 57 69 6d 70  20 66 6c 61 67 73 22 0d  |p$="Wimp flags".|
00000060  00 04 2a c8 99 22 57 69  6d 70 5f 49 6e 69 74 69  |..*.."Wimp_Initi|
00000070  61 6c 69 73 65 22 2c 32  30 30 2c 26 34 42 35 33  |alise",200,&4B53|
00000080  34 31 35 34 2c 61 70 70  24 0d 00 05 38 ee 20 85  |4154,app$...8. .|
00000090  20 ff 22 45 52 52 4f 52  20 22 2b f6 24 2b 22 20  | ."ERROR "+.$+" |
000000a0  61 74 20 6c 69 6e 65 20  22 2b c3 9e 3a c8 99 22  |at line "+..:.."|
000000b0  57 69 6d 70 5f 43 6c 6f  73 65 44 6f 77 6e 22 3a  |Wimp_CloseDown":|
000000c0  e0 0d 00 06 32 74 6f 70  25 3d 69 6e 64 25 2b 31  |....2top%=ind%+1|
000000d0  34 36 39 3a 72 65 70 25  3d 62 6c 6f 63 6b 25 2b  |469:rep%=block%+|
000000e0  32 35 36 3a 6d 65 6e 25  3d 62 6c 6f 63 6b 25 2b  |256:men%=block%+|
000000f0  35 31 32 0d 00 07 43 71  75 69 74 25 3d a3 3a 6d  |512...Cquit%=.:m|
00000100  70 6f 69 6e 74 65 72 25  3d a3 3a 61 69 63 6f 6e  |pointer%=.:aicon|
00000110  25 3d a3 3a 61 69 68 25  3d 30 3a 61 69 77 68 25  |%=.:aih%=0:aiwh%|
00000120  3d 30 3a 6d 69 63 6f 6e  25 3d a3 3a 6d 77 69 6e  |=0:micon%=.:mwin|
00000130  64 6f 77 25 3d a3 0d 00  08 1a 6d 65 6e 75 70 6f  |dow%=.....menupo|
00000140  73 25 3d b9 3a 61 6c 74  65 72 69 6e 67 25 3d a3  |s%=.:altering%=.|
00000150  0d 00 09 0c f2 62 61 72  69 63 6f 6e 0d 00 0a 0c  |.....baricon....|
00000160  f2 77 69 6e 64 6f 77 73  0d 00 0b 0e ee 20 85 20  |.windows..... . |
00000170  f2 65 72 72 6f 72 0d 00  0c 0d c8 95 20 ac 71 75  |.error...... .qu|
00000180  69 74 25 0d 00 0d 46 20  c8 99 22 57 69 6d 70 5f  |it%...F .."Wimp_|
00000190  50 6f 6c 6c 22 2c 26 38  31 38 33 30 2d 28 ac 28  |Poll",&81830-(.(|
000001a0  6d 70 6f 69 6e 74 65 72  25 84 6d 69 63 6f 6e 25  |mpointer%.micon%|
000001b0  84 6d 77 69 6e 64 6f 77  25 29 29 2c 62 6c 6f 63  |.mwindow%)),bloc|
000001c0  6b 25 20 b8 20 77 68 79  25 0d 00 0e 0e 20 c8 8e  |k% . why%.... ..|
000001d0  20 77 68 79 25 20 ca 0d  00 0f 12 20 20 c9 20 30  | why% .....  . 0|
000001e0  3a f2 6d 6f 6e 69 74 6f  72 0d 00 10 25 20 20 c9  |:.monitor...%  .|
000001f0  20 32 3a c8 99 22 57 69  6d 70 5f 4f 70 65 6e 57  | 2:.."Wimp_OpenW|
00000200  69 6e 64 6f 77 22 2c 2c  62 6c 6f 63 6b 25 0d 00  |indow",,block%..|
00000210  11 45 20 20 c9 20 33 3a  c8 99 22 57 69 6d 70 5f  |.E  . 3:.."Wimp_|
00000220  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 62 6c  |CloseWindow",,bl|
00000230  6f 63 6b 25 3a e7 21 62  6c 6f 63 6b 25 3d 77 6d  |ock%:.!block%=wm|
00000240  6f 6e 69 74 6f 72 25 8c  6d 70 6f 69 6e 74 65 72  |onitor%.mpointer|
00000250  25 3d a3 0d 00 12 2e 20  20 c9 20 36 3a f2 63 6c  |%=.....  . 6:.cl|
00000260  69 63 6b 28 62 6c 6f 63  6b 25 21 31 32 2c 62 6c  |ick(block%!12,bl|
00000270  6f 63 6b 25 21 31 36 2c  62 6c 6f 63 6b 25 21 38  |ock%!16,block%!8|
00000280  29 0d 00 13 12 20 20 c9  20 37 3a f2 64 72 61 67  |)....  . 7:.drag|
00000290  67 65 64 0d 00 14 48 20  20 c9 20 38 3a e7 20 62  |ged...H  . 8:. b|
000002a0  6c 6f 63 6b 25 21 32 34  3d 31 33 20 8c 20 f2 6b  |lock%!24=13 . .k|
000002b0  65 79 28 21 62 6c 6f 63  6b 25 29 20 8b 20 c8 99  |ey(!block%) . ..|
000002c0  22 57 69 6d 70 5f 50 72  6f 63 65 73 73 4b 65 79  |"Wimp_ProcessKey|
000002d0  22 2c 62 6c 6f 63 6b 25  21 32 34 0d 00 15 15 20  |",block%!24.... |
000002e0  20 c9 20 39 3a f2 6d 65  6e 75 73 65 6c 65 63 74  | . 9:.menuselect|
000002f0  0d 00 16 16 20 20 c9 20  31 37 2c 31 38 3a f2 72  |....  . 17,18:.r|
00000300  65 63 69 65 76 65 0d 00  17 06 20 cb 0d 00 18 05  |ecieve.... .....|
00000310  ce 0d 00 19 18 c8 99 22  57 69 6d 70 5f 43 6c 6f  |......."Wimp_Clo|
00000320  73 65 44 6f 77 6e 22 3a  e0 0d 00 1a 04 0d 00 1b  |seDown":........|
00000330  0d dd f2 72 65 63 69 65  76 65 0d 00 1c 13 20 c8  |...recieve.... .|
00000340  8e 20 62 6c 6f 63 6b 25  21 31 36 20 ca 0d 00 1d  |. block%!16 ....|
00000350  11 20 20 c9 20 30 3a 71  75 69 74 25 3d b9 0d 00  |.  . 0:quit%=...|
00000360  1e 0c 20 20 c9 20 33 2c  34 3a 0d 00 1f 44 20 20  |..  . 3,4:...D  |
00000370  20 c8 94 20 62 6c 6f 63  6b 25 21 38 2c 62 6c 6f  | .. block%!8,blo|
00000380  63 6b 25 21 31 32 3a c8  99 22 57 69 6d 70 5f 53  |ck%!12:.."Wimp_S|
00000390  65 6e 64 4d 65 73 73 61  67 65 22 2c 31 39 2c 62  |endMessage",19,b|
000003a0  6c 6f 63 6b 25 2c 62 6c  6f 63 6b 25 21 34 0d 00  |lock%,block%!4..|
000003b0  20 1a 20 20 20 e7 20 62  6c 6f 63 6b 25 21 34 30  | .   . block%!40|
000003c0  3d 26 32 30 30 30 20 8c  0d 00 21 55 20 20 20 20  |=&2000 ...!U    |
000003d0  24 62 6c 6f 63 6b 25 3d  a4 73 74 72 69 6e 67 28  |$block%=.string(|
000003e0  62 6c 6f 63 6b 25 2b 34  34 29 2b 22 2e 54 65 6d  |block%+44)+".Tem|
000003f0  70 6c 61 74 65 73 22 3a  c8 99 22 4f 53 5f 46 69  |plates":.."OS_Fi|
00000400  6c 65 22 2c 31 33 2c 62  6c 6f 63 6b 25 20 b8 20  |le",13,block% . |
00000410  66 6f 75 6e 64 25 2c 2c  6c 6f 61 64 25 0d 00 22  |found%,,load%.."|
00000420  6b 20 20 20 20 e7 20 66  6f 75 6e 64 25 3d 31 20  |k    . found%=1 |
00000430  80 20 28 6c 6f 61 64 25  80 26 46 46 46 30 30 29  |. (load%.&FFF00)|
00000440  3d 26 46 45 43 30 30 20  8c 20 f2 6c 6f 61 64 74  |=&FEC00 . .loadt|
00000450  65 6d 70 28 24 62 6c 6f  63 6b 25 29 20 8b 20 f2  |emp($block%) . .|
00000460  72 65 70 6f 72 74 28 22  43 6f 75 6c 64 6e 27 74  |report("Couldn't|
00000470  20 66 69 6e 64 20 61 20  54 65 6d 70 6c 61 74 65  | find a Template|
00000480  20 66 69 6c 65 2e 22 29  0d 00 23 39 20 20 20 cc  | file.")..#9   .|
00000490  20 e7 20 62 6c 6f 63 6b  25 21 34 30 3d 26 46 45  | . block%!40=&FE|
000004a0  43 20 8c 20 f2 6c 6f 61  64 74 65 6d 70 28 a4 73  |C . .loadtemp(.s|
000004b0  74 72 69 6e 67 28 62 6c  6f 63 6b 25 2b 34 34 29  |tring(block%+44)|
000004c0  29 0d 00 24 08 20 20 20  cd 0d 00 25 06 20 cb 0d  |)..$.   ...%. ..|
000004d0  00 26 05 e1 0d 00 27 04  0d 00 28 15 dd f2 6c 6f  |.&....'...(...lo|
000004e0  61 64 74 65 6d 70 28 70  61 74 68 24 29 0d 00 29  |adtemp(path$)..)|
000004f0  35 20 77 69 6e 64 6f 77  25 3d 30 3a 69 6e 64 5f  |5 window%=0:ind_|
00000500  6d 65 6d 25 3d 30 3a 6d  61 78 5f 77 69 6e 25 3d  |mem%=0:max_win%=|
00000510  30 3a c8 99 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |0:.."Hourglass_O|
00000520  6e 22 0d 00 2a 10 20 46  25 3d 8e 28 70 61 74 68  |n"..*. F%=.(path|
00000530  24 29 0d 00 2b 32 20 c8  99 22 4f 53 5f 47 42 50  |$)..+2 .."OS_GBP|
00000540  42 22 2c 33 2c 46 25 2c  62 6c 6f 63 6b 25 2c 32  |B",3,F%,block%,2|
00000550  30 2c 30 20 b8 20 2c 2c  2c 2c 6e 65 78 74 65 6e  |0,0 . ,,,,nexten|
00000560  74 72 79 25 0d 00 2c 1c  20 6d 6f 72 65 25 3d b9  |try%..,. more%=.|
00000570  3a c8 95 20 6d 6f 72 65  25 20 84 20 a6 2d 31 30  |:.. more% . .-10|
00000580  0d 00 2d 3e 20 20 c8 99  22 4f 53 5f 47 42 50 42  |..->  .."OS_GBPB|
00000590  22 2c 33 2c 46 25 2c 62  6c 6f 63 6b 25 2c 32 38  |",3,F%,block%,28|
000005a0  2c 6e 65 78 74 65 6e 74  72 79 25 2d 34 20 b8 20  |,nextentry%-4 . |
000005b0  2c 2c 2c 2c 6e 65 78 74  65 6e 74 72 79 25 0d 00  |,,,,nextentry%..|
000005c0  2e 16 20 20 69 64 24 3d  24 28 62 6c 6f 63 6b 25  |..  id$=$(block%|
000005d0  2b 31 32 29 0d 00 2f 1d  20 20 e7 20 62 6c 6f 63  |+12)../.  . bloc|
000005e0  6b 25 21 32 34 3d 30 20  8c 20 6d 6f 72 65 25 3d  |k%!24=0 . more%=|
000005f0  a3 0d 00 30 14 20 20 e7  20 62 6c 6f 63 6b 25 21  |...0.  . block%!|
00000600  38 3d 31 20 8c 0d 00 31  11 20 20 20 77 69 6e 64  |8=1 ...1.   wind|
00000610  6f 77 25 2b 3d 31 0d 00  32 39 20 20 20 c8 99 22  |ow%+=1..29   .."|
00000620  4f 53 5f 47 42 50 42 22  2c 33 2c 46 25 2c 62 6c  |OS_GBPB",3,F%,bl|
00000630  6f 63 6b 25 2c 38 38 2c  21 62 6c 6f 63 6b 25 20  |ock%,88,!block% |
00000640  b8 20 2c 2c 2c 2c 6e 65  78 74 69 63 6f 6e 25 0d  |. ,,,,nexticon%.|
00000650  00 33 4c 20 20 20 69 63  6f 6e 25 3d 62 6c 6f 63  |.3L   icon%=bloc|
00000660  6b 25 21 38 34 3a 77 69  6e 64 6f 77 5f 6d 65 6d  |k%!84:window_mem|
00000670  25 3d 38 38 2b 33 32 2a  69 63 6f 6e 25 3a 69 6e  |%=88+32*icon%:in|
00000680  64 5f 70 6f 69 6e 74 25  3d 6e 65 78 74 69 63 6f  |d_point%=nextico|
00000690  6e 25 2b 33 32 2a 69 63  6f 6e 25 0d 00 34 b0 20  |n%+32*icon%..4. |
000006a0  20 20 e7 20 62 6c 6f 63  6b 25 3f 37 34 3d 30 20  |  . block%?74=0 |
000006b0  80 20 62 6c 6f 63 6b 25  3f 37 35 3d 30 20 80 20  |. block%?75=0 . |
000006c0  62 6c 6f 63 6b 25 3f 38  32 3d 30 20 80 20 62 6c  |block%?82=0 . bl|
000006d0  6f 63 6b 25 3f 38 33 3d  30 20 8c 20 41 25 3d a4  |ock%?83=0 . A%=.|
000006e0  67 65 74 69 6e 64 3a 77  69 6e 64 6f 77 5f 6d 65  |getind:window_me|
000006f0  6d 25 2b 3d 62 6c 6f 63  6b 25 21 38 30 3a 69 6e  |m%+=block%!80:in|
00000700  64 5f 6d 65 6d 25 2b 3d  62 6c 6f 63 6b 25 21 38  |d_mem%+=block%!8|
00000710  30 3a e7 20 62 6c 6f 63  6b 25 21 37 36 3c 3e 2d  |0:. block%!76<>-|
00000720  31 20 8c 20 41 25 3d a4  67 65 74 69 6e 64 3a 77  |1 . A%=.getind:w|
00000730  69 6e 64 6f 77 5f 6d 65  6d 25 2b 3d 41 25 3a 69  |indow_mem%+=A%:i|
00000740  6e 64 5f 6d 65 6d 25 2b  3d 41 25 0d 00 35 11 20  |nd_mem%+=A%..5. |
00000750  20 20 c8 95 20 69 63 6f  6e 25 3e 30 0d 00 36 45  |  .. icon%>0..6E|
00000760  20 20 20 20 69 63 6f 6e  25 2d 3d 31 3a c8 99 22  |    icon%-=1:.."|
00000770  4f 53 5f 47 42 50 42 22  2c 33 2c 46 25 2c 62 6c  |OS_GBPB",3,F%,bl|
00000780  6f 63 6b 25 2c 33 32 2c  6e 65 78 74 69 63 6f 6e  |ock%,32,nexticon|
00000790  25 20 b8 20 2c 2c 2c 2c  6e 65 78 74 69 63 6f 6e  |% . ,,,,nexticon|
000007a0  25 0d 00 37 95 20 20 20  20 e7 20 28 62 6c 6f 63  |%..7.    . (bloc|
000007b0  6b 25 21 31 36 80 28 31  3c 3c 38 29 29 3d 28 31  |k%!16.(1<<8))=(1|
000007c0  3c 3c 38 29 20 8c 20 41  25 3d a4 67 65 74 69 6e  |<<8) . A%=.getin|
000007d0  64 3a 77 69 6e 64 6f 77  5f 6d 65 6d 25 2b 3d 62  |d:window_mem%+=b|
000007e0  6c 6f 63 6b 25 21 32 38  3a 69 6e 64 5f 6d 65 6d  |lock%!28:ind_mem|
000007f0  25 2b 3d 62 6c 6f 63 6b  25 21 32 38 3a e7 20 62  |%+=block%!28:. b|
00000800  6c 6f 63 6b 25 21 32 34  3c 3e 2d 31 20 8c 20 41  |lock%!24<>-1 . A|
00000810  25 3d a4 67 65 74 69 6e  64 3a 77 69 6e 64 6f 77  |%=.getind:window|
00000820  5f 6d 65 6d 25 2b 3d 41  25 3a 69 6e 64 5f 6d 65  |_mem%+=A%:ind_me|
00000830  6d 25 2b 3d 41 25 0d 00  38 08 20 20 20 ce 0d 00  |m%+=A%..8.   ...|
00000840  39 34 20 20 20 e7 20 77  69 6e 64 6f 77 5f 6d 65  |94   . window_me|
00000850  6d 25 3e 6d 61 78 5f 77  69 6e 25 20 8c 20 6d 61  |m%>max_win% . ma|
00000860  78 5f 77 69 6e 25 3d 77  69 6e 64 6f 77 5f 6d 65  |x_win%=window_me|
00000870  6d 25 0d 00 3a 07 20 20  cd 0d 00 3b 06 20 ce 0d  |m%..:.  ...;. ..|
00000880  00 3c 09 20 d9 23 46 25  0d 00 3d 35 20 24 a4 74  |.<. .#F%..=5 $.t|
00000890  65 78 74 28 74 65 6d 70  73 25 2c 33 29 3d c3 77  |ext(temps%,3)=.w|
000008a0  69 6e 64 6f 77 25 3a f2  69 63 6f 6e 73 68 61 64  |indow%:.iconshad|
000008b0  65 28 74 65 6d 70 73 25  2c 33 2c 30 29 0d 00 3e  |e(temps%,3,0)..>|
000008c0  3f 20 24 a4 74 65 78 74  28 74 65 6d 70 73 25 2c  |? $.text(temps%,|
000008d0  34 29 3d c3 69 6e 64 5f  6d 65 6d 25 2b 22 20 62  |4)=.ind_mem%+" b|
000008e0  79 74 65 73 22 3a f2 69  63 6f 6e 73 68 61 64 65  |ytes":.iconshade|
000008f0  28 74 65 6d 70 73 25 2c  34 2c 30 29 0d 00 3f 3f  |(temps%,4,0)..??|
00000900  20 24 a4 74 65 78 74 28  74 65 6d 70 73 25 2c 35  | $.text(temps%,5|
00000910  29 3d c3 6d 61 78 5f 77  69 6e 25 2b 22 20 62 79  |)=.max_win%+" by|
00000920  74 65 73 22 3a f2 69 63  6f 6e 73 68 61 64 65 28  |tes":.iconshade(|
00000930  74 65 6d 70 73 25 2c 35  2c 30 29 0d 00 40 33 20  |temps%,5,0)..@3 |
00000940  21 62 6c 6f 63 6b 25 3d  74 65 6d 70 73 25 3a c8  |!block%=temps%:.|
00000950  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00000960  53 74 61 74 65 22 2c 2c  62 6c 6f 63 6b 25 0d 00  |State",,block%..|
00000970  41 3f 20 62 6c 6f 63 6b  25 21 32 38 3d 2d 31 3a  |A? block%!28=-1:|
00000980  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |.."Wimp_OpenWind|
00000990  6f 77 22 2c 2c 62 6c 6f  63 6b 25 3a c8 99 22 48  |ow",,block%:.."H|
000009a0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 00 42  |ourglass_Off"..B|
000009b0  05 e1 0d 00 43 04 0d 00  44 0c dd a4 67 65 74 69  |....C...D...geti|
000009c0  6e 64 0d 00 45 3f 20 41  25 3d 30 3a f5 3a c8 99  |nd..E? A%=0:.:..|
000009d0  22 4f 53 5f 47 42 50 42  22 2c 33 2c 46 25 2c 72  |"OS_GBPB",3,F%,r|
000009e0  65 70 25 2c 31 2c 69 6e  64 5f 70 6f 69 6e 74 25  |ep%,1,ind_point%|
000009f0  20 b8 20 2c 2c 2c 2c 69  6e 64 5f 70 6f 69 6e 74  | . ,,,,ind_point|
00000a00  25 0d 00 46 15 20 41 25  2b 3d 31 3a fd 20 3f 72  |%..F. A%+=1:. ?r|
00000a10  65 70 25 3d 31 33 0d 00  47 07 3d 41 25 0d 00 48  |ep%=13..G.=A%..H|
00000a20  04 0d 00 49 3e dd a4 73  74 72 69 6e 67 28 70 74  |...I>..string(pt|
00000a30  72 25 29 3a ea 20 41 24  3a c8 95 20 3f 70 74 72  |r%):. A$:.. ?ptr|
00000a40  25 3c 3e 30 3a 41 24 2b  3d bd 28 3f 70 74 72 25  |%<>0:A$+=.(?ptr%|
00000a50  29 3a 70 74 72 25 2b 3d  31 3a ce 3a 3d 41 24 0d  |):ptr%+=1:.:=A$.|
00000a60  00 4a 04 0d 00 4b 0d dd  f2 6d 6f 6e 69 74 6f 72  |.J...K...monitor|
00000a70  0d 00 4c 46 20 c8 99 22  57 69 6d 70 5f 47 65 74  |..LF .."Wimp_Get|
00000a80  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 62 6c  |PointerInfo",,bl|
00000a90  6f 63 6b 25 3a 77 69 6e  64 6f 77 25 3d 62 6c 6f  |ock%:window%=blo|
00000aa0  63 6b 25 21 31 32 3a 69  63 6f 6e 25 3d 62 6c 6f  |ck%!12:icon%=blo|
00000ab0  63 6b 25 21 31 36 0d 00  4d 3f 20 6d 6f 6e 24 28  |ck%!16..M? mon$(|
00000ac0  30 29 3d c3 28 21 62 6c  6f 63 6b 25 29 3a 6d 6f  |0)=.(!block%):mo|
00000ad0  6e 24 28 31 29 3d c3 28  62 6c 6f 63 6b 25 21 34  |n$(1)=.(block%!4|
00000ae0  29 3a 6d 6f 6e 24 28 32  29 3d c3 28 62 6c 6f 63  |):mon$(2)=.(bloc|
00000af0  6b 25 21 38 29 0d 00 4e  11 20 c8 8e 20 77 69 6e  |k%!8)..N. .. win|
00000b00  64 6f 77 25 20 ca 0d 00  4f 1e 20 20 c9 20 2d 31  |dow% ...O.  . -1|
00000b10  3a 6d 6f 6e 24 28 33 29  3d 22 42 61 63 6b 67 72  |:mon$(3)="Backgr|
00000b20  27 6e 64 22 0d 00 50 1d  20 20 c9 20 2d 32 3a 6d  |'nd"..P.  . -2:m|
00000b30  6f 6e 24 28 33 29 3d 22  49 63 6f 6e 20 42 61 72  |on$(3)="Icon Bar|
00000b40  22 0d 00 51 07 20 7f 3a  0d 00 52 4f 20 20 21 62  |"..Q. .:..RO  !b|
00000b50  6c 6f 63 6b 25 3d 77 69  6e 64 6f 77 25 3a c8 99  |lock%=window%:..|
00000b60  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00000b70  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 3a 6d 6f  |tate",,block%:mo|
00000b80  6e 24 28 33 29 3d 22 26  22 2b c3 7e 28 62 6c 6f  |n$(3)="&"+.~(blo|
00000b90  63 6b 25 21 33 32 29 0d  00 53 3c 20 20 e7 20 6d  |ck%!32)..S<  . m|
00000ba0  77 69 6e 64 6f 77 25 20  24 a4 74 65 78 74 28 77  |window% $.text(w|
00000bb0  77 69 6e 64 6f 77 25 2c  32 39 29 3d 6d 6f 6e 24  |window%,29)=mon$|
00000bc0  28 33 29 3a f2 6d 61 6b  65 77 69 6e 64 6f 77 66  |(3):.makewindowf|
00000bd0  6c 61 67 0d 00 54 06 20  cb 0d 00 55 41 20 21 62  |lag..T. ...UA !b|
00000be0  6c 6f 63 6b 25 3d 77 69  6e 64 6f 77 25 3a 62 6c  |lock%=window%:bl|
00000bf0  6f 63 6b 25 21 34 3d 69  63 6f 6e 25 3a c8 99 22  |ock%!4=icon%:.."|
00000c00  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00000c10  65 22 2c 2c 62 6c 6f 63  6b 25 0d 00 56 10 20 e7  |e",,block%..V. .|
00000c20  20 69 63 6f 6e 25 3c 30  20 8c 0d 00 57 31 20 20  | icon%<0 ...W1  |
00000c30  6d 6f 6e 24 28 34 29 3d  22 57 6f 72 6b 20 61 72  |mon$(4)="Work ar|
00000c40  65 61 22 3a 6d 6f 6e 24  28 36 29 3d 22 2d 22 3a  |ea":mon$(6)="-":|
00000c50  6d 6f 6e 24 28 37 29 3d  22 2d 22 0d 00 58 10 20  |mon$(7)="-"..X. |
00000c60  20 c8 8e 20 69 63 6f 6e  25 20 ca 0d 00 59 1f 20  | .. icon% ...Y. |
00000c70  20 20 c9 20 2d 31 3a 6d  6f 6e 24 28 35 29 3d 22  |  . -1:mon$(5)="|
00000c80  42 61 63 6b 67 72 27 6e  64 22 0d 00 5a 1a 20 20  |Backgr'nd"..Z.  |
00000c90  20 c9 20 2d 32 3a 6d 6f  6e 24 28 35 29 3d 22 42  | . -2:mon$(5)="B|
00000ca0  61 63 6b 22 0d 00 5b 1b  20 20 20 c9 20 2d 33 3a  |ack"..[.   . -3:|
00000cb0  6d 6f 6e 24 28 35 29 3d  22 43 6c 6f 73 65 22 0d  |mon$(5)="Close".|
00000cc0  00 5c 1f 20 20 20 c9 20  2d 34 3a 6d 6f 6e 24 28  |.\.   . -4:mon$(|
00000cd0  35 29 3d 22 54 69 74 6c  65 20 62 61 72 22 0d 00  |5)="Title bar"..|
00000ce0  5d 1c 20 20 20 c9 20 2d  35 3a 6d 6f 6e 24 28 35  |].   . -5:mon$(5|
00000cf0  29 3d 22 54 6f 67 67 6c  65 22 0d 00 5e 18 20 20  |)="Toggle"..^.  |
00000d00  20 c9 20 2d 36 3a 6d 6f  6e 24 28 35 29 3d 22 55  | . -6:mon$(5)="U|
00000d10  70 22 0d 00 5f 1f 20 20  20 c9 20 2d 37 3a 6d 6f  |p".._.   . -7:mo|
00000d20  6e 24 28 35 29 3d 22 56  2e 20 73 63 72 6f 6c 6c  |n$(5)="V. scroll|
00000d30  22 0d 00 60 1a 20 20 20  c9 20 2d 38 3a 6d 6f 6e  |"..`.   . -8:mon|
00000d40  24 28 35 29 3d 22 44 6f  77 6e 22 0d 00 61 1c 20  |$(5)="Down"..a. |
00000d50  20 20 c9 20 2d 39 3a 6d  6f 6e 24 28 35 29 3d 22  |  . -9:mon$(5)="|
00000d60  52 65 73 69 7a 65 22 0d  00 62 1b 20 20 20 c9 20  |Resize"..b.   . |
00000d70  2d 31 30 3a 6d 6f 6e 24  28 35 29 3d 22 4c 65 66  |-10:mon$(5)="Lef|
00000d80  74 22 0d 00 63 20 20 20  20 c9 20 2d 31 31 3a 6d  |t"..c    . -11:m|
00000d90  6f 6e 24 28 35 29 3d 22  48 2e 20 73 63 72 6f 6c  |on$(5)="H. scrol|
00000da0  6c 22 0d 00 64 1c 20 20  20 c9 20 2d 31 32 3a 6d  |l"..d.   . -12:m|
00000db0  6f 6e 24 28 35 29 3d 22  52 69 67 68 74 22 0d 00  |on$(5)="Right"..|
00000dc0  65 07 20 20 cb 0d 00 66  06 20 cc 0d 00 67 2e 20  |e.  ...f. ...g. |
00000dd0  20 6d 6f 6e 24 28 34 29  3d c3 69 63 6f 6e 25 3a  | mon$(4)=.icon%:|
00000de0  6d 6f 6e 24 28 35 29 3d  22 26 22 2b c3 7e 28 62  |mon$(5)="&"+.~(b|
00000df0  6c 6f 63 6b 25 21 32 34  29 0d 00 68 2a 20 20 6d  |lock%!24)..h*  m|
00000e00  6f 6e 24 28 36 29 3d c3  28 62 6c 6f 63 6b 25 21  |on$(6)=.(block%!|
00000e10  38 29 2b 22 2c 22 2b c3  28 62 6c 6f 63 6b 25 21  |8)+","+.(block%!|
00000e20  31 32 29 0d 00 69 3e 20  20 6d 6f 6e 24 28 37 29  |12)..i>  mon$(7)|
00000e30  3d c3 28 62 6c 6f 63 6b  25 21 31 36 2d 62 6c 6f  |=.(block%!16-blo|
00000e40  63 6b 25 21 38 29 2b 22  2c 22 2b c3 28 62 6c 6f  |ck%!8)+","+.(blo|
00000e50  63 6b 25 21 32 30 2d 62  6c 6f 63 6b 25 21 31 32  |ck%!20-block%!12|
00000e60  29 0d 00 6a 36 20 20 e7  20 6d 69 63 6f 6e 25 20  |)..j6  . micon% |
00000e70  24 a4 74 65 78 74 28 77  69 63 6f 6e 25 2c 33 33  |$.text(wicon%,33|
00000e80  29 3d 6d 6f 6e 24 28 35  29 3a f2 6d 61 6b 65 69  |)=mon$(5):.makei|
00000e90  63 6f 6e 66 6c 61 67 0d  00 6b 06 20 cd 0d 00 6c  |conflag..k. ...l|
00000ea0  12 20 e7 20 6d 70 6f 69  6e 74 65 72 25 20 8c 0d  |. . mpointer% ..|
00000eb0  00 6d 39 20 20 21 62 6c  6f 63 6b 25 3d 77 6d 6f  |.m9  !block%=wmo|
00000ec0  6e 69 74 6f 72 25 3a 62  6c 6f 63 6b 25 21 38 3d  |nitor%:block%!8=|
00000ed0  30 3a 62 6c 6f 63 6b 25  21 31 32 3d 30 3a e3 20  |0:block%!12=0:. |
00000ee0  41 25 3d 31 30 b8 31 37  0d 00 6e 75 20 20 20 e7  |A%=10.17..nu   .|
00000ef0  20 6d 6f 6e 24 28 41 25  2d 31 30 29 3c 3e 24 a4  | mon$(A%-10)<>$.|
00000f00  74 65 78 74 28 77 6d 6f  6e 69 74 6f 72 25 2c 41  |text(wmonitor%,A|
00000f10  25 29 8c 24 a4 74 65 78  74 28 77 6d 6f 6e 69 74  |%).$.text(wmonit|
00000f20  6f 72 25 2c 41 25 29 3d  6d 6f 6e 24 28 41 25 2d  |or%,A%)=mon$(A%-|
00000f30  31 30 29 3a 62 6c 6f 63  6b 25 21 34 3d 41 25 3a  |10):block%!4=A%:|
00000f40  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
00000f50  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 00 6f  |tate",,block%..o|
00000f60  07 20 20 ed 0d 00 70 06  20 cd 0d 00 71 05 e1 0d  |.  ...p. ...q...|
00000f70  00 72 04 0d 00 73 0d dd  f2 64 72 61 67 67 65 64  |.r...s...dragged|
00000f80  0d 00 74 24 20 c8 99 22  57 69 6d 70 5f 47 65 74  |..t$ .."Wimp_Get|
00000f90  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 62 6c  |PointerInfo",,bl|
00000fa0  6f 63 6b 25 0d 00 75 13  20 e7 20 64 72 61 67 67  |ock%..u. . dragg|
00000fb0  65 64 25 3d 31 20 8c 0d  00 76 16 20 20 e7 20 62  |ed%=1 ...v.  . b|
00000fc0  6c 6f 63 6b 25 21 31 36  3e 2d 31 20 8c 0d 00 77  |lock%!16>-1 ...w|
00000fd0  8d 20 20 20 e7 20 61 69  63 6f 6e 25 20 8c 20 61  |.   . aicon% . a|
00000fe0  69 68 25 3d 62 6c 6f 63  6b 25 21 31 36 3a 61 69  |ih%=block%!16:ai|
00000ff0  77 68 25 3d 62 6c 6f 63  6b 25 21 31 32 3a f2 69  |wh%=block%!12:.i|
00001000  63 6f 6e 73 68 61 64 65  28 77 69 63 6f 6e 25 2c  |conshade(wicon%,|
00001010  30 2c 30 29 3a f2 69 63  6f 6e 73 68 61 64 65 28  |0,0):.iconshade(|
00001020  77 69 63 6f 6e 25 2c 31  2c 30 29 3a f2 69 63 6f  |wicon%,1,0):.ico|
00001030  6e 73 68 61 64 65 28 77  69 63 6f 6e 25 2c 31 34  |nshade(wicon%,14|
00001040  2c 31 29 3a f2 69 63 6f  6e 73 68 61 64 65 28 77  |,1):.iconshade(w|
00001050  69 63 6f 6e 25 2c 38 2c  31 29 0d 00 78 49 20 20  |icon%,8,1)..xI  |
00001060  20 21 62 6c 6f 63 6b 25  3d 62 6c 6f 63 6b 25 21  | !block%=block%!|
00001070  31 32 3a 62 6c 6f 63 6b  25 21 34 3d 62 6c 6f 63  |12:block%!4=bloc|
00001080  6b 25 21 31 36 3a c8 99  22 57 69 6d 70 5f 47 65  |k%!16:.."Wimp_Ge|
00001090  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 62 6c 6f  |tIconState",,blo|
000010a0  63 6b 25 0d 00 79 56 20  20 20 e7 20 28 28 62 6c  |ck%..yV   . ((bl|
000010b0  6f 63 6b 25 21 32 34 3e  3e 38 29 80 31 29 3d 31  |ock%!24>>8).1)=1|
000010c0  20 80 20 61 69 63 6f 6e  25 20 8c 20 f2 69 63 6f  | . aicon% . .ico|
000010d0  6e 73 68 61 64 65 28 77  69 63 6f 6e 25 2c 30 2c  |nshade(wicon%,0,|
000010e0  31 29 3a f2 69 63 6f 6e  73 68 61 64 65 28 77 69  |1):.iconshade(wi|
000010f0  63 6f 6e 25 2c 31 2c 31  29 0d 00 7a 38 20 20 20  |con%,1,1)..z8   |
00001100  24 a4 74 65 78 74 28 77  69 63 6f 6e 25 2c 33 33  |$.text(wicon%,33|
00001110  29 3d 22 26 22 2b c3 7e  28 62 6c 6f 63 6b 25 21  |)="&"+.~(block%!|
00001120  32 34 29 3a f2 6d 61 6b  65 69 63 6f 6e 66 6c 61  |24):.makeiconfla|
00001130  67 0d 00 7b 07 20 20 cd  0d 00 7c 06 20 cc 0d 00  |g..{.  ...|. ...|
00001140  7d 17 20 20 e7 20 62 6c  6f 63 6b 25 21 31 32 3c  |}.  . block%!12<|
00001150  3e 2d 31 20 8c 0d 00 7e  38 20 20 20 21 62 6c 6f  |>-1 ...~8   !blo|
00001160  63 6b 25 3d 62 6c 6f 63  6b 25 21 31 32 3a c8 99  |ck%=block%!12:..|
00001170  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00001180  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 00 7f  |tate",,block%...|
00001190  3c 20 20 20 24 a4 74 65  78 74 28 77 77 69 6e 64  |<   $.text(wwind|
000011a0  6f 77 25 2c 32 39 29 3d  22 26 22 2b c3 7e 28 62  |ow%,29)="&"+.~(b|
000011b0  6c 6f 63 6b 25 21 33 32  29 3a f2 6d 61 6b 65 77  |lock%!32):.makew|
000011c0  69 6e 64 6f 77 66 6c 61  67 0d 00 80 07 20 20 cd  |indowflag....  .|
000011d0  0d 00 81 06 20 cd 0d 00  82 05 e1 0d 00 83 04 0d  |.... ...........|
000011e0  00 84 12 dd f2 6b 65 79  28 77 69 6e 64 6f 77 25  |.....key(window%|
000011f0  29 0d 00 85 17 20 e7 20  77 69 6e 64 6f 77 25 3d  |).... . window%=|
00001200  77 69 63 6f 6e 25 20 8c  0d 00 86 29 20 20 41 24  |wicon% ....)  A$|
00001210  3d 24 a4 74 65 78 74 28  77 69 63 6f 6e 25 2c 33  |=$.text(wicon%,3|
00001220  33 29 3a e7 20 a7 41 24  2c 22 26 22 29 3d 30 20  |3):. .A$,"&")=0 |
00001230  8c 0d 00 87 12 20 20 20  21 62 6c 6f 63 6b 25 3d  |.....   !block%=|
00001240  32 35 35 0d 00 88 59 20  20 20 24 28 62 6c 6f 63  |255...Y   $(bloc|
00001250  6b 25 2b 34 29 3d 22 43  6c 69 63 6b 20 4f 4b 20  |k%+4)="Click OK |
00001260  74 6f 20 6d 61 6b 65 20  74 68 69 73 20 6e 75 6d  |to make this num|
00001270  62 65 72 20 68 65 78 69  64 65 63 69 6d 61 6c 20  |ber hexidecimal |
00001280  6f 72 20 43 41 4e 43 45  4c 20 69 66 20 69 74 20  |or CANCEL if it |
00001290  61 6c 72 65 61 64 79 20  69 73 2e 22 0d 00 89 32  |already is."...2|
000012a0  20 20 20 c8 99 22 57 69  6d 70 5f 52 65 70 6f 72  |   .."Wimp_Repor|
000012b0  74 45 72 72 6f 72 22 2c  62 6c 6f 63 6b 25 2c 33  |tError",block%,3|
000012c0  2c 61 70 70 24 20 b8 20  2c 66 6c 61 67 25 0d 00  |,app$ . ,flag%..|
000012d0  8a 2b 20 20 20 e7 20 66  6c 61 67 25 3d 31 20 8c  |.+   . flag%=1 .|
000012e0  20 41 24 3d 22 26 22 2b  c3 7e bb 41 24 20 8b 20  | A$="&"+.~.A$ . |
000012f0  41 24 3d 22 26 22 2b 41  24 0d 00 8b 07 20 20 cd  |A$="&"+A$....  .|
00001300  0d 00 8c 42 20 20 41 24  3d 22 26 22 2b c3 7e 28  |...B  A$="&"+.~(|
00001310  a0 41 24 29 3a 24 a4 74  65 78 74 28 77 69 63 6f  |.A$):$.text(wico|
00001320  6e 25 2c 33 33 29 3d 41  24 3a f2 6d 61 6b 65 69  |n%,33)=A$:.makei|
00001330  63 6f 6e 66 6c 61 67 3a  f2 61 6c 74 65 72 69 63  |conflag:.alteric|
00001340  6f 6e 0d 00 8d 06 20 cc  0d 00 8e 2b 20 20 41 24  |on.... ....+  A$|
00001350  3d 24 a4 74 65 78 74 28  77 77 69 6e 64 6f 77 25  |=$.text(wwindow%|
00001360  2c 32 39 29 3a e7 20 a7  41 24 2c 22 26 22 29 3d  |,29):. .A$,"&")=|
00001370  30 20 8c 0d 00 8f 12 20  20 20 21 62 6c 6f 63 6b  |0 .....   !block|
00001380  25 3d 32 35 35 0d 00 90  59 20 20 20 24 28 62 6c  |%=255...Y   $(bl|
00001390  6f 63 6b 25 2b 34 29 3d  22 43 6c 69 63 6b 20 4f  |ock%+4)="Click O|
000013a0  4b 20 74 6f 20 6d 61 6b  65 20 74 68 69 73 20 6e  |K to make this n|
000013b0  75 6d 62 65 72 20 68 65  78 69 64 65 63 69 6d 61  |umber hexidecima|
000013c0  6c 20 6f 72 20 43 41 4e  43 45 4c 20 69 66 20 69  |l or CANCEL if i|
000013d0  74 20 61 6c 72 65 61 64  79 20 69 73 2e 22 0d 00  |t already is."..|
000013e0  91 32 20 20 20 c8 99 22  57 69 6d 70 5f 52 65 70  |.2   .."Wimp_Rep|
000013f0  6f 72 74 45 72 72 6f 72  22 2c 62 6c 6f 63 6b 25  |ortError",block%|
00001400  2c 33 2c 61 70 70 24 20  b8 20 2c 66 6c 61 67 25  |,3,app$ . ,flag%|
00001410  0d 00 92 2b 20 20 20 e7  20 66 6c 61 67 25 3d 31  |...+   . flag%=1|
00001420  20 8c 20 41 24 3d 22 26  22 2b c3 7e bb 41 24 20  | . A$="&"+.~.A$ |
00001430  8b 20 41 24 3d 22 26 22  2b 41 24 0d 00 93 07 20  |. A$="&"+A$.... |
00001440  20 cd 0d 00 94 2d 20 20  20 41 25 3d a0 28 41 24  | ....-   A%=.(A$|
00001450  29 3a 41 25 3d 41 25 84  28 31 3c 3c 33 31 29 3a  |):A%=A%.(1<<31):|
00001460  41 25 3d 41 25 80 26 46  46 31 46 31 46 46 46 0d  |A%=A%.&FF1F1FFF.|
00001470  00 95 33 20 20 20 24 a4  74 65 78 74 28 77 77 69  |..3   $.text(wwi|
00001480  6e 64 6f 77 25 2c 32 39  29 3d 22 26 22 2b c3 7e  |ndow%,29)="&"+.~|
00001490  41 25 3a f2 6d 61 6b 65  77 69 6e 64 6f 77 66 6c  |A%:.makewindowfl|
000014a0  61 67 0d 00 96 06 20 cd  0d 00 97 05 e1 0d 00 98  |ag.... .........|
000014b0  04 0d 00 99 2b dd f2 73  65 74 28 73 77 25 2c 73  |....+..set(sw%,s|
000014c0  69 25 2c 73 66 25 29 3a  21 72 65 70 25 3d 73 77  |i%,sf%):!rep%=sw|
000014d0  25 3a 72 65 70 25 21 34  3d 73 69 25 0d 00 9a 0d  |%:rep%!4=si%....|
000014e0  20 c8 8e 20 73 66 25 20  ca 0d 00 9b 20 20 20 c9  | .. sf% ....   .|
000014f0  20 30 3a 72 65 70 25 21  38 3d 30 3a 72 65 70 25  | 0:rep%!8=0:rep%|
00001500  21 31 32 3d 31 3c 3c 32  31 0d 00 9c 25 20 20 c9  |!12=1<<21...%  .|
00001510  20 2d 31 3a 72 65 70 25  21 38 3d 31 3c 3c 32 31  | -1:rep%!8=1<<21|
00001520  3a 72 65 70 25 21 31 32  3d 31 3c 3c 32 31 0d 00  |:rep%!12=1<<21..|
00001530  9d 19 20 7f 3a 72 65 70  25 21 38 3d 30 3a 72 65  |.. .:rep%!8=0:re|
00001540  70 25 21 31 32 3d 30 0d  00 9e 06 20 cb 0d 00 9f  |p%!12=0.... ....|
00001550  20 20 c8 99 22 57 69 6d  70 5f 53 65 74 49 63 6f  |  .."Wimp_SetIco|
00001560  6e 53 74 61 74 65 22 2c  2c 72 65 70 25 0d 00 a0  |nState",,rep%...|
00001570  05 e1 0d 00 a1 04 0d 00  a2 14 dd f2 6d 61 6b 65  |............make|
00001580  77 69 6e 64 6f 77 66 6c  61 67 0d 00 a3 2b 20 46  |windowflag...+ F|
00001590  25 3d a0 24 a4 74 65 78  74 28 77 77 69 6e 64 6f  |%=.$.text(wwindo|
000015a0  77 25 2c 32 39 29 3a e7  20 77 66 6c 61 67 25 3c  |w%,29):. wflag%<|
000015b0  3e 46 25 20 8c 0d 00 a4  46 20 20 77 66 6c 61 67  |>F% ....F  wflag|
000015c0  25 3d 46 25 3a f2 73 65  74 28 77 77 69 6e 64 6f  |%=F%:.set(wwindo|
000015d0  77 25 2c 39 2c 28 46 25  80 32 29 3d 32 29 3a f2  |w%,9,(F%.2)=2):.|
000015e0  73 65 74 28 77 77 69 6e  64 6f 77 25 2c 31 30 2c  |set(wwindow%,10,|
000015f0  28 46 25 80 31 36 29 3d  31 36 29 0d 00 a5 3f 20  |(F%.16)=16)...? |
00001600  20 f2 73 65 74 28 77 77  69 6e 64 6f 77 25 2c 31  | .set(wwindow%,1|
00001610  31 2c 28 46 25 80 33 32  29 3d 33 32 29 3a f2 73  |1,(F%.32)=32):.s|
00001620  65 74 28 77 77 69 6e 64  6f 77 25 2c 31 32 2c 28  |et(wwindow%,12,(|
00001630  46 25 80 36 34 29 3d 36  34 29 0d 00 a6 47 20 20  |F%.64)=64)...G  |
00001640  f2 73 65 74 28 77 77 69  6e 64 6f 77 25 2c 31 33  |.set(wwindow%,13|
00001650  2c 28 46 25 80 31 30 32  34 29 3d 31 30 32 34 29  |,(F%.1024)=1024)|
00001660  3a f2 73 65 74 28 77 77  69 6e 64 6f 77 25 2c 31  |:.set(wwindow%,1|
00001670  34 2c 28 46 25 80 32 30  34 38 29 3d 32 30 34 38  |4,(F%.2048)=2048|
00001680  29 0d 00 a7 45 20 20 f2  73 65 74 28 77 77 69 6e  |)...E  .set(wwin|
00001690  64 6f 77 25 2c 31 35 2c  28 46 25 80 34 30 39 36  |dow%,15,(F%.4096|
000016a0  29 3d 34 30 39 36 29 3a  f2 73 65 74 28 77 77 69  |)=4096):.set(wwi|
000016b0  6e 64 6f 77 25 2c 31 36  2c 28 46 25 80 32 35 36  |ndow%,16,(F%.256|
000016c0  29 3d 32 35 36 29 0d 00  a8 3e 20 20 f2 73 65 74  |)=256)...>  .set|
000016d0  28 77 77 69 6e 64 6f 77  25 2c 31 37 2c 28 46 25  |(wwindow%,17,(F%|
000016e0  80 35 31 32 29 3d 35 31  32 29 3a f2 69 63 6f 6e  |.512)=512):.icon|
000016f0  73 68 61 64 65 28 77 77  69 6e 64 6f 77 25 2c 32  |shade(wwindow%,2|
00001700  39 2c 30 29 0d 00 a9 33  20 20 e3 41 25 3d 32 34  |9,0)...3  .A%=24|
00001710  b8 33 30 3a f2 73 65 74  28 77 77 69 6e 64 6f 77  |.30:.set(wwindow|
00001720  25 2c 41 25 2d 36 2c 2d  28 28 46 25 3e 3e 41 25  |%,A%-6,-((F%>>A%|
00001730  29 80 31 29 29 3a ed 0d  00 aa 06 20 cd 0d 00 ab  |).1)):..... ....|
00001740  05 e1 0d 00 ac 04 0d 00  ad 12 dd f2 6d 61 6b 65  |............make|
00001750  69 63 6f 6e 66 6c 61 67  0d 00 ae 29 20 46 25 3d  |iconflag...) F%=|
00001760  a0 24 a4 74 65 78 74 28  77 69 63 6f 6e 25 2c 33  |.$.text(wicon%,3|
00001770  33 29 3a e7 20 69 66 6c  61 67 25 3c 3e 46 25 20  |3):. iflag%<>F% |
00001780  8c 0d 00 af 50 20 20 f2  69 63 6f 6e 73 68 61 64  |....P  .iconshad|
00001790  65 28 77 69 63 6f 6e 25  2c 33 33 2c 30 29 3a 69  |e(wicon%,33,0):i|
000017a0  66 6c 61 67 25 3d 46 25  3a e3 41 25 3d 30 b8 31  |flag%=F%:.A%=0.1|
000017b0  31 3a f2 73 65 74 28 77  69 63 6f 6e 25 2c 41 25  |1:.set(wicon%,A%|
000017c0  2c 2d 28 28 46 25 3e 3e  41 25 29 80 31 29 29 3a  |,-((F%>>A%).1)):|
000017d0  ed 0d 00 b0 31 20 20 e3  41 25 3d 32 31 b8 32 33  |....1  .A%=21.23|
000017e0  3a f2 73 65 74 28 77 69  63 6f 6e 25 2c 41 25 2d  |:.set(wicon%,A%-|
000017f0  39 2c 2d 28 28 46 25 3e  3e 41 25 29 80 31 29 29  |9,-((F%>>A%).1))|
00001800  3a ed 0d 00 b1 38 20 20  24 a4 74 65 78 74 28 77  |:....8  $.text(w|
00001810  69 63 6f 6e 25 2c 32 31  29 3d c3 28 28 46 25 3e  |icon%,21)=.((F%>|
00001820  3e 31 36 29 80 33 31 29  3a f2 73 65 74 28 77 69  |>16).31):.set(wi|
00001830  63 6f 6e 25 2c 32 31 2c  32 29 0d 00 b2 43 20 20  |con%,21,2)...C  |
00001840  42 25 3d 28 46 25 3e 3e  31 32 29 80 31 35 3a 41  |B%=(F%>>12).15:A|
00001850  25 3d 2d 31 3a f7 3a f5  41 25 2b 3d 31 3a f3 41  |%=-1:.:.A%+=1:.A|
00001860  24 3a fd 41 25 3d 42 25  3a 24 a4 74 65 78 74 28  |$:.A%=B%:$.text(|
00001870  77 69 63 6f 6e 25 2c 31  36 29 3d 41 24 0d 00 b3  |wicon%,16)=A$...|
00001880  4e 20 20 f2 73 65 74 28  77 69 63 6f 6e 25 2c 31  |N  .set(wicon%,1|
00001890  36 2c 32 29 3a 42 25 3d  28 46 25 3e 3e 32 34 29  |6,2):B%=(F%>>24)|
000018a0  80 31 35 3a 24 a4 74 65  78 74 28 77 69 63 6f 6e  |.15:$.text(wicon|
000018b0  25 2c 32 36 29 3d c3 42  25 3a f2 73 65 74 28 77  |%,26)=.B%:.set(w|
000018c0  69 63 6f 6e 25 2c 32 36  2c 32 29 0d 00 b4 5a 20  |icon%,26,2)...Z |
000018d0  20 21 62 6c 6f 63 6b 25  3d 77 69 63 6f 6e 25 3a  | !block%=wicon%:|
000018e0  62 6c 6f 63 6b 25 21 34  3d 32 37 3a 62 6c 6f 63  |block%!4=27:bloc|
000018f0  6b 25 21 38 3d 30 3a 62  6c 6f 63 6b 25 21 31 32  |k%!8=0:block%!12|
00001900  3d 31 35 3c 3c 32 38 3a  c8 99 22 57 69 6d 70 5f  |=15<<28:.."Wimp_|
00001910  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 62  |SetIconState",,b|
00001920  6c 6f 63 6b 25 0d 00 b5  44 20 20 62 6c 6f 63 6b  |lock%...D  block|
00001930  25 21 38 3d 42 25 3c 3c  32 38 3a 62 6c 6f 63 6b  |%!8=B%<<28:block|
00001940  25 21 31 32 3d 42 25 3c  3c 32 38 3a c8 99 22 57  |%!12=B%<<28:.."W|
00001950  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00001960  22 2c 2c 62 6c 6f 63 6b  25 0d 00 b6 2a 20 20 42  |",,block%...*  B|
00001970  25 3d 28 46 25 3e 3e 32  38 29 80 31 35 3a 24 a4  |%=(F%>>28).15:$.|
00001980  74 65 78 74 28 77 69 63  6f 6e 25 2c 32 39 29 3d  |text(wicon%,29)=|
00001990  c3 42 25 0d 00 b7 46 20  20 62 6c 6f 63 6b 25 21  |.B%...F  block%!|
000019a0  34 3d 32 39 3a 62 6c 6f  63 6b 25 21 38 3d 30 3a  |4=29:block%!8=0:|
000019b0  62 6c 6f 63 6b 25 21 31  32 3d 30 3a c8 99 22 57  |block%!12=0:.."W|
000019c0  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
000019d0  22 2c 2c 62 6c 6f 63 6b  25 0d 00 b8 40 20 20 62  |",,block%...@  b|
000019e0  6c 6f 63 6b 25 21 34 3d  33 30 3a 62 6c 6f 63 6b  |lock%!4=30:block|
000019f0  25 21 31 32 3d 31 35 3c  3c 32 38 3a c8 99 22 57  |%!12=15<<28:.."W|
00001a00  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00001a10  22 2c 2c 62 6c 6f 63 6b  25 0d 00 b9 44 20 20 62  |",,block%...D  b|
00001a20  6c 6f 63 6b 25 21 38 3d  42 25 3c 3c 32 38 3a 62  |lock%!8=B%<<28:b|
00001a30  6c 6f 63 6b 25 21 31 32  3d 42 25 3c 3c 32 38 3a  |lock%!12=B%<<28:|
00001a40  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
00001a50  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 00 ba  |tate",,block%...|
00001a60  06 20 cd 0d 00 bb 05 e1  0d 00 bc 04 0d 00 bd 10  |. ..............|
00001a70  dd f2 6d 65 6e 75 73 65  6c 65 63 74 0d 00 be 11  |..menuselect....|
00001a80  20 73 65 6c 25 3d 21 62  6c 6f 63 6b 25 0d 00 bf  | sel%=!block%...|
00001a90  13 20 c8 8e 20 6d 65 6e  75 6f 70 65 6e 25 20 ca  |. .. menuopen% .|
00001aa0  0d 00 c0 0a 20 20 c9 20  31 3a 0d 00 c1 10 20 20  |....  . 1:....  |
00001ab0  20 c8 8e 20 73 65 6c 25  20 ca 0d 00 c2 0c 20 20  | .. sel% .....  |
00001ac0  20 20 c9 20 31 3a 0d 00  c3 36 20 20 20 20 20 21  |  . 1:...6     !|
00001ad0  62 6c 6f 63 6b 25 3d 77  69 63 6f 6e 25 3a c8 99  |block%=wicon%:..|
00001ae0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 49  |"Wimp_GetWindowI|
00001af0  6e 66 6f 22 2c 2c 62 6c  6f 63 6b 25 0d 00 c4 31  |nfo",,block%...1|
00001b00  20 20 20 20 20 62 6c 6f  63 6b 25 21 32 38 3d 2d  |     block%!28=-|
00001b10  31 3a c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |1:.."Wimp_OpenWi|
00001b20  6e 64 6f 77 22 2c 2c 62  6c 6f 63 6b 25 0d 00 c5  |ndow",,block%...|
00001b30  0b 20 20 20 20 c9 20 32  0d 00 c6 38 20 20 20 20  |.    . 2...8    |
00001b40  20 21 62 6c 6f 63 6b 25  3d 77 77 69 6e 64 6f 77  | !block%=wwindow|
00001b50  25 3a c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |%:.."Wimp_GetWin|
00001b60  64 6f 77 49 6e 66 6f 22  2c 2c 62 6c 6f 63 6b 25  |dowInfo",,block%|
00001b70  0d 00 c7 31 20 20 20 20  20 62 6c 6f 63 6b 25 21  |...1     block%!|
00001b80  32 38 3d 2d 31 3a c8 99  22 57 69 6d 70 5f 4f 70  |28=-1:.."Wimp_Op|
00001b90  65 6e 57 69 6e 64 6f 77  22 2c 2c 62 6c 6f 63 6b  |enWindow",,block|
00001ba0  25 0d 00 c8 0c 20 20 20  20 c9 20 33 3a 0d 00 c9  |%....    . 3:...|
00001bb0  16 20 20 20 20 20 c8 8e  20 62 6c 6f 63 6b 25 21  |.     .. block%!|
00001bc0  34 20 ca 0d 00 ca 11 20  20 20 20 20 20 c9 20 2d  |4 .....      . -|
00001bd0  31 2c 30 3a 0d 00 cb 31  20 20 20 20 20 20 20 21  |1,0:...1       !|
00001be0  62 6c 6f 63 6b 25 3d 77  6d 6f 6e 69 74 6f 72 25  |block%=wmonitor%|
00001bf0  3a 6d 70 6f 69 6e 74 65  72 25 3d ac 6d 70 6f 69  |:mpointer%=.mpoi|
00001c00  6e 74 65 72 25 0d 00 cc  18 20 20 20 20 20 20 20  |nter%....       |
00001c10  e7 20 6d 70 6f 69 6e 74  65 72 25 20 8c 0d 00 cd  |. mpointer% ....|
00001c20  53 20 20 20 20 20 20 20  20 c8 99 22 57 69 6d 70  |S        .."Wimp|
00001c30  5f 47 65 74 57 69 6e 64  6f 77 49 6e 66 6f 22 2c  |_GetWindowInfo",|
00001c40  2c 62 6c 6f 63 6b 25 3a  62 6c 6f 63 6b 25 21 32  |,block%:block%!2|
00001c50  38 3d 2d 31 3a c8 99 22  57 69 6d 70 5f 4f 70 65  |8=-1:.."Wimp_Ope|
00001c60  6e 57 69 6e 64 6f 77 22  2c 2c 62 6c 6f 63 6b 25  |nWindow",,block%|
00001c70  0d 00 ce 29 20 20 20 20  20 20 20 cc 20 c8 99 22  |...)       . .."|
00001c80  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00001c90  22 2c 2c 62 6c 6f 63 6b  25 0d 00 cf 0c 20 20 20  |",,block%....   |
00001ca0  20 20 20 20 cd 0d 00 d0  0e 20 20 20 20 20 20 c9  |    .....      .|
00001cb0  20 31 3a 0d 00 d1 7f 20  20 20 20 20 20 20 6d 69  | 1:....       mi|
00001cc0  63 6f 6e 25 3d ac 6d 69  63 6f 6e 25 3a 61 69 63  |con%=.micon%:aic|
00001cd0  6f 6e 25 3d 30 3a f2 69  63 6f 6e 73 68 61 64 65  |on%=0:.iconshade|
00001ce0  28 77 69 63 6f 6e 25 2c  30 2c 30 29 3a f2 69 63  |(wicon%,0,0):.ic|
00001cf0  6f 6e 73 68 61 64 65 28  77 69 63 6f 6e 25 2c 31  |onshade(wicon%,1|
00001d00  2c 30 29 3a f2 69 63 6f  6e 73 68 61 64 65 28 77  |,0):.iconshade(w|
00001d10  69 63 6f 6e 25 2c 38 2c  30 29 3a f2 69 63 6f 6e  |icon%,8,0):.icon|
00001d20  73 68 61 64 65 28 77 69  63 6f 6e 25 2c 31 34 2c  |shade(wicon%,14,|
00001d30  30 29 0d 00 d2 20 20 20  20 20 20 20 c9 20 32 3a  |0)...       . 2:|
00001d40  6d 77 69 6e 64 6f 77 25  3d ac 6d 77 69 6e 64 6f  |mwindow%=.mwindo|
00001d50  77 25 0d 00 d3 0a 20 20  20 20 20 cb 0d 00 d4 0c  |w%....     .....|
00001d60  20 20 20 20 c9 20 34 3a  0d 00 d5 b8 20 20 20 20  |    . 4:....    |
00001d70  20 61 69 63 6f 6e 25 3d  ac 61 69 63 6f 6e 25 3a  | aicon%=.aicon%:|
00001d80  e7 20 61 69 63 6f 6e 25  20 8c 20 6d 69 63 6f 6e  |. aicon% . micon|
00001d90  25 3d a3 3a 6d 6f 6e 25  3d 6d 70 6f 69 6e 74 65  |%=.:mon%=mpointe|
00001da0  72 25 84 6d 69 63 6f 6e  25 84 6d 77 69 6e 64 6f  |r%.micon%.mwindo|
00001db0  77 25 20 8b 20 61 69 68  25 3d 30 3a 61 69 77 68  |w% . aih%=0:aiwh|
00001dc0  25 3d 30 3a f2 69 63 6f  6e 73 68 61 64 65 28 77  |%=0:.iconshade(w|
00001dd0  69 63 6f 6e 25 2c 30 2c  30 29 3a f2 69 63 6f 6e  |icon%,0,0):.icon|
00001de0  73 68 61 64 65 28 77 69  63 6f 6e 25 2c 31 2c 30  |shade(wicon%,1,0|
00001df0  29 3a f2 69 63 6f 6e 73  68 61 64 65 28 77 69 63  |):.iconshade(wic|
00001e00  6f 6e 25 2c 38 2c 30 29  3a f2 69 63 6f 6e 73 68  |on%,8,0):.iconsh|
00001e10  61 64 65 28 77 69 63 6f  6e 25 2c 31 34 2c 30 29  |ade(wicon%,14,0)|
00001e20  0d 00 d6 13 20 20 20 20  c9 20 35 3a 71 75 69 74  |....    . 5:quit|
00001e30  25 3d b9 0d 00 d7 08 20  20 20 cb 0d 00 d8 0b 20  |%=.....   ..... |
00001e40  20 c9 20 31 36 3a 0d 00  d9 37 20 20 20 41 24 3d  | . 16:...7   A$=|
00001e50  24 a4 74 65 78 74 28 77  69 63 6f 6e 25 2c 31 36  |$.text(wicon%,16|
00001e60  29 3a f7 3a 41 25 3d 2d  31 3a f5 41 25 2b 3d 31  |):.:A%=-1:.A%+=1|
00001e70  3a f3 42 24 3a fd 41 25  3d 73 65 6c 25 0d 00 da  |:.B$:.A%=sel%...|
00001e80  11 20 20 20 e7 20 41 24  3c 3e 42 24 20 8c 0d 00  |.   . A$<>B$ ...|
00001e90  db 55 20 20 20 20 24 a4  74 65 78 74 28 77 69 63  |.U    $.text(wic|
00001ea0  6f 6e 25 2c 31 36 29 3d  42 24 3a f2 69 63 6f 6e  |on%,16)=B$:.icon|
00001eb0  73 68 61 64 65 28 77 69  63 6f 6e 25 2c 31 36 2c  |shade(wicon%,16,|
00001ec0  30 29 3a 46 25 3d 46 25  80 26 46 46 46 46 30 46  |0):F%=F%.&FFFF0F|
00001ed0  46 46 3a 46 25 3d 46 25  84 28 73 65 6c 25 3c 3c  |FF:F%=F%.(sel%<<|
00001ee0  31 32 29 0d 00 dc 4f 20  20 20 20 69 66 6c 61 67  |12)...O    iflag|
00001ef0  25 3d 46 25 3a 24 a4 74  65 78 74 28 77 69 63 6f  |%=F%:$.text(wico|
00001f00  6e 25 2c 33 33 29 3d 22  26 22 2b c3 7e 46 25 3a  |n%,33)="&"+.~F%:|
00001f10  f2 61 6c 74 65 72 69 63  6f 6e 3a f2 69 63 6f 6e  |.altericon:.icon|
00001f20  73 68 61 64 65 28 77 69  63 6f 6e 25 2c 33 33 2c  |shade(wicon%,33,|
00001f30  30 29 0d 00 dd 08 20 20  20 cd 0d 00 de 0e 20 20  |0)....   .....  |
00001f40  c9 20 32 36 2c 32 39 3a  0d 00 df 27 20 20 20 24  |. 26,29:...'   $|
00001f50  a4 74 65 78 74 28 77 69  63 6f 6e 25 2c 6d 65 6e  |.text(wicon%,men|
00001f60  75 6f 70 65 6e 25 29 3d  c3 28 73 65 6c 25 29 0d  |uopen%)=.(sel%).|
00001f70  00 e0 5d 20 20 20 21 62  6c 6f 63 6b 25 3d 77 69  |..]   !block%=wi|
00001f80  63 6f 6e 25 3a 62 6c 6f  63 6b 25 21 34 3d 6d 65  |con%:block%!4=me|
00001f90  6e 75 6f 70 65 6e 25 3a  62 6c 6f 63 6b 25 21 38  |nuopen%:block%!8|
00001fa0  3d 30 3a 62 6c 6f 63 6b  25 21 31 32 3d 30 3a c8  |=0:block%!12=0:.|
00001fb0  99 22 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 74  |."Wimp_SetIconSt|
00001fc0  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 00 e1 4a  |ate",,block%...J|
00001fd0  20 20 20 62 6c 6f 63 6b  25 21 34 3d 6d 65 6e 75  |   block%!4=menu|
00001fe0  6f 70 65 6e 25 2b 31 3a  62 6c 6f 63 6b 25 21 31  |open%+1:block%!1|
00001ff0  32 3d 31 35 3c 3c 32 38  3a c8 99 22 57 69 6d 70  |2=15<<28:.."Wimp|
00002000  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00002010  62 6c 6f 63 6b 25 0d 00  e2 49 20 20 20 62 6c 6f  |block%...I   blo|
00002020  63 6b 25 21 38 3d 73 65  6c 25 3c 3c 32 38 3a 62  |ck%!8=sel%<<28:b|
00002030  6c 6f 63 6b 25 21 31 32  3d 73 65 6c 25 3c 3c 32  |lock%!12=sel%<<2|
00002040  38 3a c8 99 22 57 69 6d  70 5f 53 65 74 49 63 6f  |8:.."Wimp_SetIco|
00002050  6e 53 74 61 74 65 22 2c  2c 62 6c 6f 63 6b 25 0d  |nState",,block%.|
00002060  00 e3 10 20 20 20 46 25  3d 69 66 6c 61 67 25 0d  |...   F%=iflag%.|
00002070  00 e4 17 20 20 20 e7 20  6d 65 6e 75 6f 70 65 6e  |...   . menuopen|
00002080  25 3d 32 36 20 8c 0d 00  e5 28 20 20 20 20 46 25  |%=26 ....(    F%|
00002090  3d 46 25 80 26 46 30 46  46 46 46 46 46 3a 46 25  |=F%.&F0FFFFFF:F%|
000020a0  3d 46 25 84 28 73 65 6c  25 3c 3c 32 34 29 0d 00  |=F%.(sel%<<24)..|
000020b0  e6 08 20 20 20 cc 0d 00  e7 27 20 20 20 20 46 25  |..   ....'    F%|
000020c0  3d 46 25 80 26 46 46 46  46 46 46 46 3a 46 25 3d  |=F%.&FFFFFFF:F%=|
000020d0  46 25 84 28 73 65 6c 25  3c 3c 32 38 29 0d 00 e8  |F%.(sel%<<28)...|
000020e0  08 20 20 20 cd 0d 00 e9  15 20 20 20 e7 20 46 25  |.   .....   . F%|
000020f0  3c 3e 69 66 6c 61 67 25  20 8c 0d 00 ea 4f 20 20  |<>iflag% ....O  |
00002100  20 20 24 a4 74 65 78 74  28 77 69 63 6f 6e 25 2c  |  $.text(wicon%,|
00002110  33 33 29 3d 22 26 22 2b  c3 7e 46 25 3a 69 66 6c  |33)="&"+.~F%:ifl|
00002120  61 67 25 3d 46 25 3a f2  61 6c 74 65 72 69 63 6f  |ag%=F%:.alterico|
00002130  6e 3a f2 69 63 6f 6e 73  68 61 64 65 28 77 69 63  |n:.iconshade(wic|
00002140  6f 6e 25 2c 33 33 2c 30  29 0d 00 eb 08 20 20 20  |on%,33,0)....   |
00002150  cd 0d 00 ec 06 20 cb 0d  00 ed 24 20 c8 99 22 57  |..... ....$ .."W|
00002160  69 6d 70 5f 47 65 74 50  6f 69 6e 74 65 72 49 6e  |imp_GetPointerIn|
00002170  66 6f 22 2c 2c 62 6c 6f  63 6b 25 0d 00 ee 13 20  |fo",,block%.... |
00002180  e7 20 62 6c 6f 63 6b 25  21 38 3d 31 20 8c 0d 00  |. block%!8=1 ...|
00002190  ef 14 20 20 c8 8e 20 6d  65 6e 75 6f 70 65 6e 25  |..  .. menuopen%|
000021a0  20 ca 0d 00 f0 18 20 20  20 c9 20 31 3a f2 62 61  | .....   . 1:.ba|
000021b0  72 6d 65 6e 75 28 30 2c  30 29 0d 00 f1 1c 20 20  |rmenu(0,0)....  |
000021c0  20 c9 20 31 36 3a f2 62  75 74 74 6f 6e 6d 65 6e  | . 16:.buttonmen|
000021d0  75 28 30 2c 30 29 0d 00  f2 22 20 20 7f 20 f2 63  |u(0,0)..."  . .c|
000021e0  6f 6c 6f 75 72 6d 65 6e  75 28 6d 65 6e 75 6f 70  |olourmenu(menuop|
000021f0  65 6e 25 2c 30 2c 30 29  0d 00 f3 07 20 20 cb 0d  |en%,0,0)....  ..|
00002200  00 f4 06 20 cd 0d 00 f5  05 e1 0d 00 f6 04 0d 00  |... ............|
00002210  f7 22 dd f2 63 6c 69 63  6b 28 77 69 6e 64 6f 77  |."..click(window|
00002220  25 2c 69 63 6f 6e 25 2c  62 75 74 74 6f 6e 25 29  |%,icon%,button%)|
00002230  0d 00 f8 11 20 c8 8e 20  77 69 6e 64 6f 77 25 20  |.... .. window% |
00002240  ca 0d 00 f9 0b 20 20 c9  20 2d 32 3a 0d 00 fa 13  |.....  . -2:....|
00002250  20 20 20 c8 8e 20 62 75  74 74 6f 6e 25 20 ca 0d  |   .. button% ..|
00002260  00 fb 0c 20 20 20 20 c9  20 31 3a 0d 00 fc 38 20  |...    . 1:...8 |
00002270  20 20 20 20 21 62 6c 6f  63 6b 25 3d 77 77 69 6e  |    !block%=wwin|
00002280  64 6f 77 25 3a c8 99 22  57 69 6d 70 5f 47 65 74  |dow%:.."Wimp_Get|
00002290  57 69 6e 64 6f 77 49 6e  66 6f 22 2c 2c 62 6c 6f  |WindowInfo",,blo|
000022a0  63 6b 25 0d 00 fd 31 20  20 20 20 20 62 6c 6f 63  |ck%...1     bloc|
000022b0  6b 25 21 32 38 3d 2d 31  3a c8 99 22 57 69 6d 70  |k%!28=-1:.."Wimp|
000022c0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 62 6c  |_OpenWindow",,bl|
000022d0  6f 63 6b 25 0d 00 fe 22  20 20 20 20 c9 20 32 3a  |ock%..."    . 2:|
000022e0  f2 62 61 72 6d 65 6e 75  28 21 62 6c 6f 63 6b 25  |.barmenu(!block%|
000022f0  2d 36 34 2c 30 29 0d 00  ff 0c 20 20 20 20 c9 20  |-64,0)....    . |
00002300  34 3a 0d 01 00 36 20 20  20 20 20 21 62 6c 6f 63  |4:...6     !bloc|
00002310  6b 25 3d 77 69 63 6f 6e  25 3a c8 99 22 57 69 6d  |k%=wicon%:.."Wim|
00002320  70 5f 47 65 74 57 69 6e  64 6f 77 49 6e 66 6f 22  |p_GetWindowInfo"|
00002330  2c 2c 62 6c 6f 63 6b 25  0d 01 01 31 20 20 20 20  |,,block%...1    |
00002340  20 62 6c 6f 63 6b 25 21  32 38 3d 2d 31 3a c8 99  | block%!28=-1:..|
00002350  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00002360  22 2c 2c 62 6c 6f 63 6b  25 0d 01 02 08 20 20 20  |",,block%....   |
00002370  cb 0d 01 03 0f 20 20 c9  20 77 69 63 6f 6e 25 3a  |.....  . wicon%:|
00002380  0d 01 04 20 20 20 20 e7  20 62 75 74 74 6f 6e 25  |...    . button%|
00002390  3d 31 20 84 20 62 75 74  74 6f 6e 25 3d 34 20 8c  |=1 . button%=4 .|
000023a0  0d 01 05 27 20 20 20 20  46 25 3d 69 66 6c 61 67  |...'    F%=iflag|
000023b0  25 3a 45 25 3d bb 24 a4  74 65 78 74 28 77 69 63  |%:E%=.$.text(wic|
000023c0  6f 6e 25 2c 32 31 29 0d  01 06 12 20 20 20 20 c8  |on%,21)....    .|
000023d0  8e 20 69 63 6f 6e 25 20  ca 0d 01 07 14 20 20 20  |. icon% .....   |
000023e0  20 20 c9 20 30 3a 46 25  3d 46 25 82 31 0d 01 08  |  . 0:F%=F%.1...|
000023f0  14 20 20 20 20 20 c9 20  31 3a 46 25 3d 46 25 82  |.     . 1:F%=F%.|
00002400  32 0d 01 09 14 20 20 20  20 20 c9 20 32 3a 46 25  |2....     . 2:F%|
00002410  3d 46 25 82 34 0d 01 0a  14 20 20 20 20 20 c9 20  |=F%.4....     . |
00002420  33 3a 46 25 3d 46 25 82  38 0d 01 0b 15 20 20 20  |3:F%=F%.8....   |
00002430  20 20 c9 20 34 3a 46 25  3d 46 25 82 31 36 0d 01  |  . 4:F%=F%.16..|
00002440  0c 15 20 20 20 20 20 c9  20 35 3a 46 25 3d 46 25  |..     . 5:F%=F%|
00002450  82 33 32 0d 01 0d 15 20  20 20 20 20 c9 20 36 3a  |.32....     . 6:|
00002460  46 25 3d 46 25 82 36 34  0d 01 0e 16 20 20 20 20  |F%=F%.64....    |
00002470  20 c9 20 37 3a 46 25 3d  46 25 82 31 32 38 0d 01  | . 7:F%=F%.128..|
00002480  0f 16 20 20 20 20 20 c9  20 38 3a 46 25 3d 46 25  |..     . 8:F%=F%|
00002490  82 32 35 36 0d 01 10 16  20 20 20 20 20 c9 20 39  |.256....     . 9|
000024a0  3a 46 25 3d 46 25 82 35  31 32 0d 01 11 18 20 20  |:F%=F%.512....  |
000024b0  20 20 20 c9 20 31 30 3a  46 25 3d 46 25 82 31 30  |   . 10:F%=F%.10|
000024c0  32 34 0d 01 12 19 20 20  20 20 20 c9 20 31 31 3a  |24....     . 11:|
000024d0  46 25 3d 46 25 82 32 30  30 34 38 0d 01 13 1b 20  |F%=F%.20048.... |
000024e0  20 20 20 20 c9 20 31 32  3a 46 25 3d 46 25 82 28  |    . 12:F%=F%.(|
000024f0  31 3c 3c 32 31 29 0d 01  14 1b 20 20 20 20 20 c9  |1<<21)....     .|
00002500  20 31 33 3a 46 25 3d 46  25 82 28 31 3c 3c 32 32  | 13:F%=F%.(1<<22|
00002510  29 0d 01 15 1b 20 20 20  20 20 c9 20 31 34 3a 46  |)....     . 14:F|
00002520  25 3d 46 25 82 28 31 3c  3c 32 33 29 0d 01 16 2e  |%=F%.(1<<23)....|
00002530  20 20 20 20 20 c9 20 31  38 3a f2 62 75 74 74 6f  |     . 18:.butto|
00002540  6e 6d 65 6e 75 28 21 62  6c 6f 63 6b 25 2d 36 34  |nmenu(!block%-64|
00002550  2c 62 6c 6f 63 6b 25 21  34 29 0d 01 17 2b 20 20  |,block%!4)...+  |
00002560  20 20 20 c9 20 32 32 3a  45 25 2d 3d 31 3a e7 45  |   . 22:E%-=1:.E|
00002570  25 3d 2d 31 8c 45 25 3d  30 8b 46 25 2d 3d 28 31  |%=-1.E%=0.F%-=(1|
00002580  3c 3c 31 36 29 0d 01 18  2c 20 20 20 20 20 c9 20  |<<16)...,     . |
00002590  32 33 3a 45 25 2b 3d 31  3a e7 45 25 3d 33 32 8c  |23:E%+=1:.E%=32.|
000025a0  45 25 3d 33 31 8b 46 25  2b 3d 28 31 3c 3c 31 36  |E%=31.F%+=(1<<16|
000025b0  29 0d 01 19 37 20 20 20  20 20 c9 20 32 36 2c 32  |)...7     . 26,2|
000025c0  39 3a f2 63 6f 6c 6f 75  72 6d 65 6e 75 28 69 63  |9:.colourmenu(ic|
000025d0  6f 6e 25 2c 21 62 6c 6f  63 6b 25 2d 36 34 2c 62  |on%,!block%-64,b|
000025e0  6c 6f 63 6b 25 21 34 29  0d 01 1a 09 20 20 20 20  |lock%!4)....    |
000025f0  cb 0d 01 1b 22 20 20 20  20 e7 20 45 25 3c 3e bb  |...."    . E%<>.|
00002600  24 a4 74 65 78 74 28 77  69 63 6f 6e 25 2c 32 31  |$.text(wicon%,21|
00002610  29 20 8c 0d 01 1c 1e 20  20 20 20 20 24 a4 74 65  |) .....     $.te|
00002620  78 74 28 77 69 63 6f 6e  25 2c 32 31 29 3d c3 45  |xt(wicon%,21)=.E|
00002630  25 0d 01 1d 58 20 20 20  20 20 21 62 6c 6f 63 6b  |%...X     !block|
00002640  25 3d 77 69 63 6f 6e 25  3a 62 6c 6f 63 6b 25 21  |%=wicon%:block%!|
00002650  34 3d 32 31 3a 62 6c 6f  63 6b 25 21 38 3d 30 3a  |4=21:block%!8=0:|
00002660  62 6c 6f 63 6b 25 21 31  32 3d 30 3a c8 99 22 57  |block%!12=0:.."W|
00002670  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00002680  22 2c 2c 62 6c 6f 63 6b  25 0d 01 1e 09 20 20 20  |",,block%....   |
00002690  20 cd 0d 01 1f 16 20 20  20 20 e7 20 46 25 3c 3e  | .....    . F%<>|
000026a0  69 66 6c 61 67 25 20 8c  0d 01 20 50 20 20 20 20  |iflag% ... P    |
000026b0  20 24 a4 74 65 78 74 28  77 69 63 6f 6e 25 2c 33  | $.text(wicon%,3|
000026c0  33 29 3d 22 26 22 2b c3  7e 46 25 3a 69 66 6c 61  |3)="&"+.~F%:ifla|
000026d0  67 25 3d 46 25 3a f2 69  63 6f 6e 73 68 61 64 65  |g%=F%:.iconshade|
000026e0  28 77 69 63 6f 6e 25 2c  33 33 2c 30 29 3a f2 61  |(wicon%,33,0):.a|
000026f0  6c 74 65 72 69 63 6f 6e  0d 01 21 09 20 20 20 20  |ltericon..!.    |
00002700  cd 0d 01 22 08 20 20 20  cc 0d 01 23 2d 20 20 20  |...".   ...#-   |
00002710  20 e7 20 69 63 6f 6e 25  3d 33 37 20 80 20 28 62  | . icon%=37 . (b|
00002720  75 74 74 6f 6e 25 80 36  34 29 20 8c 20 f2 64 72  |utton%.64) . .dr|
00002730  61 67 69 63 6f 6e 0d 01  24 33 20 20 20 20 e7 20  |agicon..$3    . |
00002740  62 75 74 74 6f 6e 25 3d  32 20 8c 20 f2 62 61 72  |button%=2 . .bar|
00002750  6d 65 6e 75 28 21 62 6c  6f 63 6b 25 2d 36 34 2c  |menu(!block%-64,|
00002760  62 6c 6f 63 6b 25 21 34  29 0d 01 25 08 20 20 20  |block%!4)..%.   |
00002770  cd 0d 01 26 11 20 20 c9  20 77 77 69 6e 64 6f 77  |...&.  . wwindow|
00002780  25 3a 0d 01 27 20 20 20  20 e7 20 62 75 74 74 6f  |%:..'    . butto|
00002790  6e 25 3d 31 20 84 20 62  75 74 74 6f 6e 25 3d 34  |n%=1 . button%=4|
000027a0  20 8c 0d 01 28 11 20 20  20 20 46 25 3d 77 66 6c  | ...(.    F%=wfl|
000027b0  61 67 25 0d 01 29 12 20  20 20 20 c8 8e 20 69 63  |ag%..).    .. ic|
000027c0  6f 6e 25 20 ca 0d 01 2a  14 20 20 20 20 20 c9 20  |on% ...*.     . |
000027d0  39 3a 46 25 3d 46 25 82  32 0d 01 2b 16 20 20 20  |9:F%=F%.2..+.   |
000027e0  20 20 c9 20 31 30 3a 46  25 3d 46 25 82 31 36 0d  |  . 10:F%=F%.16.|
000027f0  01 2c 16 20 20 20 20 20  c9 20 31 31 3a 46 25 3d  |.,.     . 11:F%=|
00002800  46 25 82 33 32 0d 01 2d  16 20 20 20 20 20 c9 20  |F%.32..-.     . |
00002810  31 32 3a 46 25 3d 46 25  82 36 34 0d 01 2e 18 20  |12:F%=F%.64.... |
00002820  20 20 20 20 c9 20 31 33  3a 46 25 3d 46 25 82 31  |    . 13:F%=F%.1|
00002830  30 32 34 0d 01 2f 18 20  20 20 20 20 c9 20 31 34  |024../.     . 14|
00002840  3a 46 25 3d 46 25 82 32  30 34 38 0d 01 30 18 20  |:F%=F%.2048..0. |
00002850  20 20 20 20 c9 20 31 35  3a 46 25 3d 46 25 82 34  |    . 15:F%=F%.4|
00002860  30 39 36 0d 01 31 17 20  20 20 20 20 c9 20 31 36  |096..1.     . 16|
00002870  3a 46 25 3d 46 25 82 32  35 36 0d 01 32 17 20 20  |:F%=F%.256..2.  |
00002880  20 20 20 c9 20 31 37 3a  46 25 3d 46 25 82 35 31  |   . 17:F%=F%.51|
00002890  32 0d 01 33 34 20 20 20  20 20 c9 20 31 38 2c 31  |2..34     . 18,1|
000028a0  39 2c 32 30 2c 32 31 2c  32 32 2c 32 33 2c 32 34  |9,20,21,22,23,24|
000028b0  3a 46 25 3d 46 25 82 28  31 3c 3c 28 69 63 6f 6e  |:F%=F%.(1<<(icon|
000028c0  25 2b 36 29 29 0d 01 34  09 20 20 20 20 cb 0d 01  |%+6))..4.    ...|
000028d0  35 16 20 20 20 20 e7 20  46 25 3c 3e 77 66 6c 61  |5.    . F%<>wfla|
000028e0  67 25 20 8c 0d 01 36 49  20 20 20 20 20 24 a4 74  |g% ...6I     $.t|
000028f0  65 78 74 28 77 77 69 6e  64 6f 77 25 2c 32 39 29  |ext(wwindow%,29)|
00002900  3d 22 26 22 2b c3 7e 46  25 3a 77 66 6c 61 67 25  |="&"+.~F%:wflag%|
00002910  3d 46 25 3a f2 69 63 6f  6e 73 68 61 64 65 28 77  |=F%:.iconshade(w|
00002920  77 69 6e 64 6f 77 25 2c  32 39 2c 30 29 0d 01 37  |window%,29,0)..7|
00002930  09 20 20 20 20 cd 0d 01  38 08 20 20 20 cc 0d 01  |.    ...8.   ...|
00002940  39 2f 20 20 20 20 e7 20  28 62 75 74 74 6f 6e 25  |9/    . (button%|
00002950  80 36 34 29 20 80 20 69  63 6f 6e 25 3d 32 38 20  |.64) . icon%=28 |
00002960  8c 20 f2 64 72 61 67 77  69 6e 64 6f 77 0d 01 3a  |. .dragwindow..:|
00002970  33 20 20 20 20 e7 20 62  75 74 74 6f 6e 25 3d 32  |3    . button%=2|
00002980  20 8c 20 f2 62 61 72 6d  65 6e 75 28 21 62 6c 6f  | . .barmenu(!blo|
00002990  63 6b 25 2d 36 34 2c 62  6c 6f 63 6b 25 21 34 29  |ck%-64,block%!4)|
000029a0  0d 01 3b 08 20 20 20 cd  0d 01 3c 06 20 cb 0d 01  |..;.   ...<. ...|
000029b0  3d 05 e1 0d 01 3e 04 0d  01 3f 0f dd f2 61 6c 74  |=....>...?...alt|
000029c0  65 72 69 63 6f 6e 0d 01  40 1a 20 e7 20 61 69 63  |ericon..@. . aic|
000029d0  6f 6e 25 20 80 20 61 69  77 68 25 3c 3e 30 20 8c  |on% . aiwh%<>0 .|
000029e0  0d 01 41 11 20 20 61 6c  74 65 72 69 6e 67 25 3d  |..A.  altering%=|
000029f0  b9 0d 01 42 54 20 20 21  72 65 70 25 3d 61 69 77  |...BT  !rep%=aiw|
00002a00  68 25 3a 72 65 70 25 21  34 3d 61 69 68 25 3a 72  |h%:rep%!4=aih%:r|
00002a10  65 70 25 21 38 3d 30 3a  72 65 70 25 21 31 32 3d  |ep%!8=0:rep%!12=|
00002a20  26 46 46 46 46 46 46 46  46 3a c8 99 22 57 69 6d  |&FFFFFFFF:.."Wim|
00002a30  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00002a40  2c 72 65 70 25 0d 01 43  4a 20 20 72 65 70 25 21  |,rep%..CJ  rep%!|
00002a50  38 3d 69 66 6c 61 67 25  3a 72 65 70 25 21 31 32  |8=iflag%:rep%!12|
00002a60  3d 69 66 6c 61 67 25 3a  c8 99 22 57 69 6d 70 5f  |=iflag%:.."Wimp_|
00002a70  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 72  |SetIconState",,r|
00002a80  65 70 25 3a 61 6c 74 65  72 69 6e 67 25 3d a3 0d  |ep%:altering%=..|
00002a90  01 44 06 20 cd 0d 01 45  05 e1 0d 01 46 04 0d 01  |.D. ...E....F...|
00002aa0  47 24 dd f2 69 63 6f 6e  73 68 61 64 65 28 77 69  |G$..iconshade(wi|
00002ab0  6e 64 6f 77 25 2c 69 63  6f 6e 25 2c 66 6c 61 67  |ndow%,icon%,flag|
00002ac0  25 29 0d 01 48 42 20 21  72 65 70 25 3d 77 69 6e  |%)..HB !rep%=win|
00002ad0  64 6f 77 25 3a 72 65 70  25 21 34 3d 69 63 6f 6e  |dow%:rep%!4=icon|
00002ae0  25 3a 72 65 70 25 21 38  3d 66 6c 61 67 25 2a 28  |%:rep%!8=flag%*(|
00002af0  31 3c 3c 32 32 29 3a 72  65 70 25 21 31 32 3d 31  |1<<22):rep%!12=1|
00002b00  3c 3c 32 32 0d 01 49 20  20 c8 99 22 57 69 6d 70  |<<22..I  .."Wimp|
00002b10  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00002b20  72 65 70 25 0d 01 4a 05  e1 0d 01 4b 04 0d 01 4c  |rep%..J....K...L|
00002b30  1b dd f2 64 72 61 67 77  69 6e 64 6f 77 3a 64 72  |...dragwindow:dr|
00002b40  61 67 67 65 64 25 3d 32  0d 01 4d 35 20 21 62 6c  |agged%=2..M5 !bl|
00002b50  6f 63 6b 25 3d 77 77 69  6e 64 6f 77 25 3a c8 99  |ock%=wwindow%:..|
00002b60  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00002b70  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 01 4e  |tate",,block%..N|
00002b80  31 20 78 25 3d 62 6c 6f  63 6b 25 21 34 2d 62 6c  |1 x%=block%!4-bl|
00002b90  6f 63 6b 25 21 32 30 3a  79 25 3d 62 6c 6f 63 6b  |ock%!20:y%=block|
00002ba0  25 21 31 36 2d 62 6c 6f  63 6b 25 21 32 34 0d 01  |%!16-block%!24..|
00002bb0  4f 2f 20 62 6c 6f 63 6b  25 21 34 3d 32 38 3a c8  |O/ block%!4=28:.|
00002bc0  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00002bd0  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 01 50  |tate",,block%..P|
00002be0  52 20 62 6c 6f 63 6b 25  21 34 3d 35 3a 62 6c 6f  |R block%!4=5:blo|
00002bf0  63 6b 25 21 38 3d 78 25  2b 62 6c 6f 63 6b 25 21  |ck%!8=x%+block%!|
00002c00  38 3a 62 6c 6f 63 6b 25  21 31 32 3d 79 25 2b 62  |8:block%!12=y%+b|
00002c10  6c 6f 63 6b 25 21 31 32  3a 62 6c 6f 63 6b 25 21  |lock%!12:block%!|
00002c20  31 36 3d 78 25 2b 62 6c  6f 63 6b 25 21 31 36 0d  |16=x%+block%!16.|
00002c30  01 51 5b 20 62 6c 6f 63  6b 25 21 32 30 3d 79 25  |.Q[ block%!20=y%|
00002c40  2b 62 6c 6f 63 6b 25 21  32 30 3a 62 6c 6f 63 6b  |+block%!20:block|
00002c50  25 21 32 34 3d 30 3a 62  6c 6f 63 6b 25 21 32 38  |%!24=0:block%!28|
00002c60  3d 30 3a 62 6c 6f 63 6b  25 21 33 32 3d 26 37 46  |=0:block%!32=&7F|
00002c70  46 46 46 46 46 46 3a 62  6c 6f 63 6b 25 21 33 36  |FFFFFF:block%!36|
00002c80  3d 26 37 46 46 46 46 46  46 46 0d 01 52 1e 20 c8  |=&7FFFFFFF..R. .|
00002c90  99 20 22 57 69 6d 70 5f  44 72 61 67 42 6f 78 22  |. "Wimp_DragBox"|
00002ca0  2c 2c 62 6c 6f 63 6b 25  0d 01 53 05 e1 0d 01 54  |,,block%..S....T|
00002cb0  04 0d 01 55 19 dd f2 64  72 61 67 69 63 6f 6e 3a  |...U...dragicon:|
00002cc0  64 72 61 67 67 65 64 25  3d 31 0d 01 56 33 20 21  |dragged%=1..V3 !|
00002cd0  62 6c 6f 63 6b 25 3d 77  69 63 6f 6e 25 3a c8 99  |block%=wicon%:..|
00002ce0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00002cf0  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 01 57  |tate",,block%..W|
00002d00  31 20 78 25 3d 62 6c 6f  63 6b 25 21 34 2d 62 6c  |1 x%=block%!4-bl|
00002d10  6f 63 6b 25 21 32 30 3a  79 25 3d 62 6c 6f 63 6b  |ock%!20:y%=block|
00002d20  25 21 31 36 2d 62 6c 6f  63 6b 25 21 32 34 0d 01  |%!16-block%!24..|
00002d30  58 2f 20 62 6c 6f 63 6b  25 21 34 3d 33 37 3a c8  |X/ block%!4=37:.|
00002d40  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00002d50  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 01 59  |tate",,block%..Y|
00002d60  52 20 62 6c 6f 63 6b 25  21 34 3d 35 3a 62 6c 6f  |R block%!4=5:blo|
00002d70  63 6b 25 21 38 3d 78 25  2b 62 6c 6f 63 6b 25 21  |ck%!8=x%+block%!|
00002d80  38 3a 62 6c 6f 63 6b 25  21 31 32 3d 79 25 2b 62  |8:block%!12=y%+b|
00002d90  6c 6f 63 6b 25 21 31 32  3a 62 6c 6f 63 6b 25 21  |lock%!12:block%!|
00002da0  31 36 3d 78 25 2b 62 6c  6f 63 6b 25 21 31 36 0d  |16=x%+block%!16.|
00002db0  01 5a 5b 20 62 6c 6f 63  6b 25 21 32 30 3d 79 25  |.Z[ block%!20=y%|
00002dc0  2b 62 6c 6f 63 6b 25 21  32 30 3a 62 6c 6f 63 6b  |+block%!20:block|
00002dd0  25 21 32 34 3d 30 3a 62  6c 6f 63 6b 25 21 32 38  |%!24=0:block%!28|
00002de0  3d 30 3a 62 6c 6f 63 6b  25 21 33 32 3d 26 37 46  |=0:block%!32=&7F|
00002df0  46 46 46 46 46 46 3a 62  6c 6f 63 6b 25 21 33 36  |FFFFFF:block%!36|
00002e00  3d 26 37 46 46 46 46 46  46 46 0d 01 5b 1e 20 c8  |=&7FFFFFFF..[. .|
00002e10  99 20 22 57 69 6d 70 5f  44 72 61 67 42 6f 78 22  |. "Wimp_DragBox"|
00002e20  2c 2c 62 6c 6f 63 6b 25  0d 01 5c 05 e1 0d 01 5d  |,,block%..\....]|
00002e30  04 0d 01 5e 59 dd a4 74  65 78 74 28 77 69 6e 64  |...^Y..text(wind|
00002e40  6f 77 25 2c 69 63 6f 6e  25 29 3a 21 72 65 70 25  |ow%,icon%):!rep%|
00002e50  3d 77 69 6e 64 6f 77 25  3a 72 65 70 25 21 34 3d  |=window%:rep%!4=|
00002e60  69 63 6f 6e 25 3a c8 99  22 57 69 6d 70 5f 47 65  |icon%:.."Wimp_Ge|
00002e70  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 72 65 70  |tIconState",,rep|
00002e80  25 3a 3d 72 65 70 25 21  32 38 0d 01 5f 04 0d 01  |%:=rep%!28.._...|
00002e90  60 0d dd f2 62 61 72 69  63 6f 6e 0d 01 61 4f 20  |`...baricon..aO |
00002ea0  21 62 6c 6f 63 6b 25 3d  2d 31 3a 62 6c 6f 63 6b  |!block%=-1:block|
00002eb0  25 21 34 3d 30 3a 62 6c  6f 63 6b 25 21 38 3d 30  |%!4=0:block%!8=0|
00002ec0  3a 62 6c 6f 63 6b 25 21  31 32 3d 36 38 3a 62 6c  |:block%!12=68:bl|
00002ed0  6f 63 6b 25 21 31 36 3d  36 38 3a 62 6c 6f 63 6b  |ock%!16=68:block|
00002ee0  25 21 32 30 3d 26 33 30  30 32 0d 01 62 41 20 24  |%!20=&3002..bA $|
00002ef0  28 62 6c 6f 63 6b 25 2b  32 34 29 3d 22 21 77 69  |(block%+24)="!wi|
00002f00  6d 70 66 6c 61 67 73 22  3a c8 99 22 57 69 6d 70  |mpflags":.."Wimp|
00002f10  5f 43 72 65 61 74 65 49  63 6f 6e 22 2c 2c 62 6c  |_CreateIcon",,bl|
00002f20  6f 63 6b 25 20 b8 20 62  61 72 25 0d 01 63 05 e1  |ock% . bar%..c..|
00002f30  0d 01 64 04 0d 01 65 0d  dd f2 77 69 6e 64 6f 77  |..d...e...window|
00002f40  73 0d 01 66 3a 20 c8 99  22 57 69 6d 70 5f 4f 70  |s..f: .."Wimp_Op|
00002f50  65 6e 54 65 6d 70 6c 61  74 65 22 2c 2c 22 3c 4f  |enTemplate",,"<O|
00002f60  62 65 79 24 44 69 72 3e  2e 54 65 6d 70 6c 61 74  |bey$Dir>.Templat|
00002f70  65 73 22 3a 41 25 3d 69  6e 64 25 0d 01 67 4e 20  |es":A%=ind%..gN |
00002f80  24 6e 61 6d 65 25 3d 22  49 63 6f 6e 22 3a c8 99  |$name%="Icon":..|
00002f90  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00002fa0  74 65 22 2c 2c 62 6c 6f  63 6b 25 2c 69 6e 64 25  |te",,block%,ind%|
00002fb0  2c 74 6f 70 25 2c 2d 31  2c 6e 61 6d 65 25 2c 30  |,top%,-1,name%,0|
00002fc0  20 b8 20 2c 2c 69 6e 64  25 0d 01 68 2b 20 c8 99  | . ,,ind%..h+ ..|
00002fd0  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
00002fe0  6f 77 22 2c 2c 62 6c 6f  63 6b 25 20 b8 20 77 69  |ow",,block% . wi|
00002ff0  63 6f 6e 25 0d 01 69 50  20 24 6e 61 6d 65 25 3d  |con%..iP $name%=|
00003000  22 57 69 6e 64 6f 77 22  3a c8 99 22 57 69 6d 70  |"Window":.."Wimp|
00003010  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
00003020  62 6c 6f 63 6b 25 2c 69  6e 64 25 2c 74 6f 70 25  |block%,ind%,top%|
00003030  2c 2d 31 2c 6e 61 6d 65  25 2c 30 20 b8 20 2c 2c  |,-1,name%,0 . ,,|
00003040  69 6e 64 25 0d 01 6a 2d  20 c8 99 22 57 69 6d 70  |ind%..j- .."Wimp|
00003050  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
00003060  62 6c 6f 63 6b 25 20 b8  20 77 77 69 6e 64 6f 77  |block% . wwindow|
00003070  25 0d 01 6b 4e 20 24 6e  61 6d 65 25 3d 22 49 6e  |%..kN $name%="In|
00003080  66 6f 22 3a c8 99 22 57  69 6d 70 5f 4c 6f 61 64  |fo":.."Wimp_Load|
00003090  54 65 6d 70 6c 61 74 65  22 2c 2c 62 6c 6f 63 6b  |Template",,block|
000030a0  25 2c 69 6e 64 25 2c 74  6f 70 25 2c 2d 31 2c 6e  |%,ind%,top%,-1,n|
000030b0  61 6d 65 25 2c 30 20 b8  20 2c 2c 69 6e 64 25 0d  |ame%,0 . ,,ind%.|
000030c0  01 6c 2b 20 c8 99 22 57  69 6d 70 5f 43 72 65 61  |.l+ .."Wimp_Crea|
000030d0  74 65 57 69 6e 64 6f 77  22 2c 2c 62 6c 6f 63 6b  |teWindow",,block|
000030e0  25 20 b8 20 77 69 6e 66  6f 25 0d 01 6d 51 20 24  |% . winfo%..mQ $|
000030f0  6e 61 6d 65 25 3d 22 4d  6f 6e 69 74 6f 72 22 3a  |name%="Monitor":|
00003100  c8 99 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |.."Wimp_LoadTemp|
00003110  6c 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 2c 69 6e  |late",,block%,in|
00003120  64 25 2c 74 6f 70 25 2c  2d 31 2c 6e 61 6d 65 25  |d%,top%,-1,name%|
00003130  2c 30 20 b8 20 2c 2c 69  6e 64 25 0d 01 6e 2f 20  |,0 . ,,ind%..n/ |
00003140  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |.."Wimp_CreateWi|
00003150  6e 64 6f 77 22 2c 2c 62  6c 6f 63 6b 25 20 b8 20  |ndow",,block% . |
00003160  77 6d 6f 6e 69 74 6f 72  25 20 0d 01 6f 4f 20 24  |wmonitor% ..oO $|
00003170  6e 61 6d 65 25 3d 22 54  65 6d 70 73 22 3a c8 99  |name%="Temps":..|
00003180  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00003190  74 65 22 2c 2c 62 6c 6f  63 6b 25 2c 69 6e 64 25  |te",,block%,ind%|
000031a0  2c 74 6f 70 25 2c 2d 31  2c 6e 61 6d 65 25 2c 30  |,top%,-1,name%,0|
000031b0  20 b8 20 2c 2c 69 6e 64  25 0d 01 70 2b 20 c8 99  | . ,,ind%..p+ ..|
000031c0  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
000031d0  6f 77 22 2c 2c 62 6c 6f  63 6b 25 20 b8 20 74 65  |ow",,block% . te|
000031e0  6d 70 73 25 0d 01 71 1b  20 c8 99 22 57 69 6d 70  |mps%..q. .."Wimp|
000031f0  5f 43 6c 6f 73 65 54 65  6d 70 6c 61 74 65 22 0d  |_CloseTemplate".|
00003200  01 72 42 20 24 a4 74 65  78 74 28 77 69 63 6f 6e  |.rB $.text(wicon|
00003210  25 2c 33 33 29 3d 22 26  43 37 30 30 30 30 30 30  |%,33)="&C7000000|
00003220  22 3a 24 a4 74 65 78 74  28 77 77 69 6e 64 6f 77  |":$.text(wwindow|
00003230  25 2c 32 39 29 3d 22 26  38 30 30 30 30 30 30 30  |%,29)="&80000000|
00003240  22 0d 01 73 26 20 69 66  6c 61 67 25 3d 26 43 37  |"..s& iflag%=&C7|
00003250  30 30 30 30 30 30 3a 77  66 6c 61 67 25 3d 26 38  |000000:wflag%=&8|
00003260  30 30 30 30 30 30 30 0d  01 74 05 e1 0d 01 75 04  |0000000..t....u.|
00003270  0d 01 76 14 dd f2 62 61  72 6d 65 6e 75 28 58 25  |..v...barmenu(X%|
00003280  2c 59 25 29 0d 01 77 2b  20 24 6d 65 6e 25 3d 22  |,Y%)..w+ $men%="|
00003290  57 69 6d 70 20 46 6c 61  67 73 22 3a 41 25 3d 6d  |Wimp Flags":A%=m|
000032a0  65 6e 25 3a 6d 65 6e 75  6f 70 65 6e 25 3d 31 0d  |en%:menuopen%=1.|
000032b0  01 78 39 20 6d 65 6e 25  21 31 32 3d 26 30 30 30  |.x9 men%!12=&000|
000032c0  37 30 32 30 37 3a 6d 65  6e 25 21 31 36 3d 31 33  |70207:men%!16=13|
000032d0  2a 31 36 3a 6d 65 6e 25  21 32 30 3d 34 34 3a 6d  |*16:men%!20=44:m|
000032e0  65 6e 25 21 32 34 3d 30  0d 01 79 46 20 6d 65 6e  |en%!24=0..yF men|
000032f0  25 2b 3d 32 38 3a 6d 65  6e 25 21 30 3d 30 3a 6d  |%+=28:men%!0=0:m|
00003300  65 6e 25 21 34 3d 77 69  6e 66 6f 25 3a 6d 65 6e  |en%!4=winfo%:men|
00003310  25 21 38 3d 26 37 30 30  30 30 32 31 3a 24 28 6d  |%!8=&7000021:$(m|
00003320  65 6e 25 2b 31 32 29 3d  22 49 6e 66 6f 22 0d 01  |en%+12)="Info"..|
00003330  7a 47 20 6d 65 6e 25 2b  3d 32 34 3a 6d 65 6e 25  |zG men%+=24:men%|
00003340  21 30 3d 30 3a 6d 65 6e  25 21 34 3d 30 3a 6d 65  |!0=0:men%!4=0:me|
00003350  6e 25 21 38 3d 26 37 30  30 30 30 32 31 3a 24 28  |n%!8=&7000021:$(|
00003360  6d 65 6e 25 2b 31 32 29  3d 22 49 63 6f 6e 20 66  |men%+12)="Icon f|
00003370  6c 61 67 73 22 0d 01 7b  49 20 6d 65 6e 25 2b 3d  |lags"..{I men%+=|
00003380  32 34 3a 6d 65 6e 25 21  30 3d 30 3a 6d 65 6e 25  |24:men%!0=0:men%|
00003390  21 34 3d 30 3a 6d 65 6e  25 21 38 3d 26 37 30 30  |!4=0:men%!8=&700|
000033a0  30 30 32 31 3a 24 28 6d  65 6e 25 2b 31 32 29 3d  |0021:$(men%+12)=|
000033b0  22 57 69 6e 64 6f 77 20  66 6c 61 67 73 22 0d 01  |"Window flags"..|
000033c0  7c 4e 20 6d 65 6e 25 2b  3d 32 34 3a 6d 65 6e 25  ||N men%+=24:men%|
000033d0  21 30 3d 2d 6d 70 6f 69  6e 74 65 72 25 3a 42 25  |!0=-mpointer%:B%|
000033e0  3d 6d 65 6e 25 2b 34 3a  6d 65 6e 25 21 38 3d 26  |=men%+4:men%!8=&|
000033f0  37 30 30 30 30 32 31 3a  24 28 6d 65 6e 25 2b 31  |7000021:$(men%+1|
00003400  32 29 3d 22 4d 6f 6e 69  74 6f 72 22 0d 01 7d 4d  |2)="Monitor"..}M|
00003410  20 6d 65 6e 25 2b 3d 32  34 3a 6d 65 6e 25 21 30  | men%+=24:men%!0|
00003420  3d 2d 61 69 63 6f 6e 25  3a 6d 65 6e 25 21 34 3d  |=-aicon%:men%!4=|
00003430  30 3a 6d 65 6e 25 21 38  3d 26 37 30 30 30 30 32  |0:men%!8=&700002|
00003440  31 3a 24 28 6d 65 6e 25  2b 31 32 29 3d 22 41 6c  |1:$(men%+12)="Al|
00003450  74 65 72 20 69 63 6f 6e  22 0d 01 7e 43 20 6d 65  |ter icon"..~C me|
00003460  6e 25 2b 3d 32 34 3a 6d  65 6e 25 21 30 3d 31 32  |n%+=24:men%!0=12|
00003470  38 3a 6d 65 6e 25 21 34  3d 30 3a 6d 65 6e 25 21  |8:men%!4=0:men%!|
00003480  38 3d 26 37 30 30 30 30  32 31 3a 24 28 6d 65 6e  |8=&7000021:$(men|
00003490  25 2b 31 32 29 3d 22 51  75 69 74 22 0d 01 7f 27  |%+12)="Quit"...'|
000034a0  20 e7 20 59 25 3d 30 20  8c 20 59 25 3d 39 36 2b  | . Y%=0 . Y%=96+|
000034b0  34 34 2a 28 28 6d 65 6e  25 2d 41 25 2b 34 29 2f  |44*((men%-A%+4)/|
000034c0  32 34 29 0d 01 80 16 20  6d 65 6e 25 2b 3d 32 34  |24).... men%+=24|
000034d0  3a 21 42 25 3d 6d 65 6e  25 0d 01 81 48 20 24 6d  |:!B%=men%...H $m|
000034e0  65 6e 25 3d 22 4d 6f 6e  69 74 6f 72 22 3a 6d 65  |en%="Monitor":me|
000034f0  6e 25 21 31 32 3d 26 30  30 30 37 30 32 30 37 3a  |n%!12=&00070207:|
00003500  6d 65 6e 25 21 31 36 3d  38 2a 31 36 3a 6d 65 6e  |men%!16=8*16:men|
00003510  25 21 32 30 3d 34 34 3a  6d 65 6e 25 21 32 34 3d  |%!20=44:men%!24=|
00003520  30 0d 01 82 4d 20 6d 65  6e 25 2b 3d 32 38 3a 6d  |0...M men%+=28:m|
00003530  65 6e 25 21 30 3d 2d 6d  70 6f 69 6e 74 65 72 25  |en%!0=-mpointer%|
00003540  3a 6d 65 6e 25 21 34 3d  30 3a 6d 65 6e 25 21 38  |:men%!4=0:men%!8|
00003550  3d 26 37 30 30 30 30 32  31 3a 24 28 6d 65 6e 25  |=&7000021:$(men%|
00003560  2b 31 32 29 3d 22 50 6f  69 6e 74 65 72 22 0d 01  |+12)="Pointer"..|
00003570  83 48 20 6d 65 6e 25 2b  3d 32 34 3a 6d 65 6e 25  |.H men%+=24:men%|
00003580  21 30 3d 2d 6d 69 63 6f  6e 25 3a 6d 65 6e 25 21  |!0=-micon%:men%!|
00003590  34 3d 30 3a 6d 65 6e 25  21 38 3d 26 37 30 30 30  |4=0:men%!8=&7000|
000035a0  30 32 31 3a 24 28 6d 65  6e 25 2b 31 32 29 3d 22  |021:$(men%+12)="|
000035b0  49 63 6f 6e 73 22 0d 01  84 4f 20 6d 65 6e 25 2b  |Icons"...O men%+|
000035c0  3d 32 34 3a 6d 65 6e 25  21 30 3d 31 32 38 2d 6d  |=24:men%!0=128-m|
000035d0  77 69 6e 64 6f 77 25 3a  6d 65 6e 25 21 34 3d 30  |window%:men%!4=0|
000035e0  3a 6d 65 6e 25 21 38 3d  26 37 30 30 30 30 32 31  |:men%!8=&7000021|
000035f0  3a 24 28 6d 65 6e 25 2b  31 32 29 3d 22 57 69 6e  |:$(men%+12)="Win|
00003600  64 6f 77 73 22 0d 01 85  2c 20 6d 65 6e 25 3d 41  |dows"..., men%=A|
00003610  25 3a c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |%:.."Wimp_Create|
00003620  4d 65 6e 75 22 2c 2c 6d  65 6e 25 2c 58 25 2c 59  |Menu",,men%,X%,Y|
00003630  25 0d 01 86 05 e1 0d 01  87 04 0d 01 88 1e dd f2  |%...............|
00003640  63 6f 6c 6f 75 72 6d 65  6e 75 28 42 25 2c 58 25  |colourmenu(B%,X%|
00003650  2c 59 25 29 3a ea 41 25  0d 01 89 42 20 6d 65 6e  |,Y%):.A%...B men|
00003660  75 6f 70 65 6e 25 3d 42  25 3a e7 20 42 25 3d 32  |uopen%=B%:. B%=2|
00003670  36 20 8c 20 24 6d 65 6e  25 3d 22 46 6f 72 65 67  |6 . $men%="Foreg|
00003680  72 6f 75 6e 64 22 8b 20  24 6d 65 6e 25 3d 22 42  |round". $men%="B|
00003690  61 63 6b 67 72 6f 75 6e  64 22 0d 01 8a 47 20 41  |ackground"...G A|
000036a0  25 3d 6d 65 6e 25 3a 6d  65 6e 25 21 31 32 3d 26  |%=men%:men%!12=&|
000036b0  30 30 30 37 30 32 30 37  3a 6d 65 6e 25 21 31 36  |00070207:men%!16|
000036c0  3d 31 34 34 3a 6d 65 6e  25 21 32 30 3d 34 34 3a  |=144:men%!20=44:|
000036d0  6d 65 6e 25 21 32 34 3d  30 3a 6d 65 6e 25 2b 3d  |men%!24=0:men%+=|
000036e0  34 0d 01 8b 41 20 e3 20  42 25 3d 30 b8 31 35 3a  |4...A . B%=0.15:|
000036f0  6d 65 6e 25 2b 3d 32 34  3a 21 6d 65 6e 25 3d 30  |men%+=24:!men%=0|
00003700  3a 6d 65 6e 25 21 34 3d  30 3a 6d 65 6e 25 21 38  |:men%!4=0:men%!8|
00003710  3d 26 37 30 30 30 30 32  39 2b 28 42 25 3c 3c 32  |=&7000029+(B%<<2|
00003720  38 29 0d 01 8c 25 20 e7  20 42 25 3e 34 20 80 20  |8)...% . B%>4 . |
00003730  42 25 3c 39 20 8c 20 6d  65 6e 25 21 38 2d 3d 26  |B%<9 . men%!8-=&|
00003740  37 30 30 30 30 30 30 0d  01 8d 28 20 24 28 6d 65  |7000000...( $(me|
00003750  6e 25 2b 31 32 29 3d c3  42 25 3a ed 3a 21 6d 65  |n%+12)=.B%:.:!me|
00003760  6e 25 3d 2b 31 32 38 3a  6d 65 6e 25 3d 41 25 0d  |n%=+128:men%=A%.|
00003770  01 8e 19 20 e7 20 6d 65  6e 75 70 6f 73 25 20 8c  |... . menupos% .|
00003780  20 f2 66 69 6e 64 78 79  0d 01 8f 24 20 c8 99 22  | .findxy...$ .."|
00003790  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
000037a0  2c 2c 6d 65 6e 25 2c 58  25 2c 59 25 0d 01 90 05  |,,men%,X%,Y%....|
000037b0  e1 0d 01 91 04 0d 01 92  1d dd f2 62 75 74 74 6f  |...........butto|
000037c0  6e 6d 65 6e 75 28 58 25  2c 59 25 29 3a ea 41 25  |nmenu(X%,Y%):.A%|
000037d0  3a f7 0d 01 93 25 20 6d  65 6e 75 6f 70 65 6e 25  |:....% menuopen%|
000037e0  3d 31 36 3a 24 6d 65 6e  25 3d 22 42 75 74 74 6f  |=16:$men%="Butto|
000037f0  6e 20 74 79 70 65 22 0d  01 94 49 20 41 25 3d 6d  |n type"...I A%=m|
00003800  65 6e 25 3a 6d 65 6e 25  21 31 32 3d 26 30 30 30  |en%:men%!12=&000|
00003810  37 30 32 30 37 3a 6d 65  6e 25 21 31 36 3d 31 38  |70207:men%!16=18|
00003820  2a 31 36 3a 6d 65 6e 25  21 32 30 3d 34 34 3a 6d  |*16:men%!20=44:m|
00003830  65 6e 25 21 32 34 3d 30  3a 6d 65 6e 25 2b 3d 34  |en%!24=0:men%+=4|
00003840  0d 01 95 3c 20 e3 20 42  25 3d 30 b8 31 35 3a 6d  |...< . B%=0.15:m|
00003850  65 6e 25 2b 3d 32 34 3a  21 6d 65 6e 25 3d 30 3a  |en%+=24:!men%=0:|
00003860  6d 65 6e 25 21 34 3d 30  3a 6d 65 6e 25 21 38 3d  |men%!4=0:men%!8=|
00003870  26 37 30 30 30 30 32 31  3a f3 41 24 0d 01 96 18  |&7000021:.A$....|
00003880  20 20 f4 20 49 46 20 4c  45 4e 41 24 3e 31 32 20  |  . IF LENA$>12 |
00003890  54 48 45 4e 0d 01 97 3a  20 20 20 6d 65 6e 25 21  |THEN...:   men%!|
000038a0  38 2b 3d 31 3c 3c 38 3a  24 28 64 61 74 61 25 2b  |8+=1<<8:$(data%+|
000038b0  42 25 2a 32 30 29 3d 41  24 3a 24 28 64 61 74 61  |B%*20)=A$:$(data|
000038c0  25 2b 32 30 2a 42 25 2b  31 38 29 3d 22 22 0d 01  |%+20*B%+18)=""..|
000038d0  98 41 20 20 20 6d 65 6e  25 21 31 32 3d 64 61 74  |.A   men%!12=dat|
000038e0  61 25 2b 32 30 2a 42 25  3a 6d 65 6e 25 21 31 36  |a%+20*B%:men%!16|
000038f0  3d 64 61 74 61 25 2b 32  30 2a 42 25 2b 31 38 3a  |=data%+20*B%+18:|
00003900  6d 65 6e 25 21 32 30 3d  a9 28 41 24 29 2d 31 0d  |men%!20=.(A$)-1.|
00003910  01 99 1a 20 20 f4 20 45  4c 53 45 20 24 28 6d 65  |...  . ELSE $(me|
00003920  6e 25 2b 31 32 29 3d 41  24 0d 01 9a 0d 20 20 f4  |n%+12)=A$....  .|
00003930  20 45 4e 44 49 46 0d 01  9b 06 20 ed 0d 01 9c 19  | ENDIF.... .....|
00003940  20 e7 20 6d 65 6e 75 70  6f 73 25 20 8c 20 f2 66  | . menupos% . .f|
00003950  69 6e 64 78 79 0d 01 9d  37 20 21 6d 65 6e 25 2b  |indxy...7 !men%+|
00003960  3d 31 32 38 3a 6d 65 6e  25 3d 41 25 3a c8 99 22  |=128:men%=A%:.."|
00003970  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00003980  2c 2c 6d 65 6e 25 2c 58  25 2c 59 25 0d 01 9e 05  |,,men%,X%,Y%....|
00003990  e1 0d 01 9f 04 0d 01 a0  51 dc 20 4e 65 76 65 72  |........Q. Never|
000039a0  2c 41 6c 77 61 79 73 2c  41 75 74 6f 2d 72 65 70  |,Always,Auto-rep|
000039b0  65 61 74 2c 43 6c 69 63  6b 2c 52 65 6c 65 61 73  |eat,Click,Releas|
000039c0  65 2c 44 6f 75 62 6c 65  20 63 6c 69 63 6b 2c 43  |e,Double click,C|
000039d0  6c 69 63 6b 2f 44 72 61  67 2c 52 65 6c 65 61 73  |lick/Drag,Releas|
000039e0  65 2f 44 72 61 67 0d 01  a1 4f dc 20 44 6f 75 62  |e/Drag...O. Doub|
000039f0  6c 65 2f 44 72 61 67 2c  4d 65 6e 75 20 69 63 6f  |le/Drag,Menu ico|
00003a00  6e 2c 44 6f 75 62 6c 65  2f 43 6c 69 63 6b 2f 44  |n,Double/Click/D|
00003a10  72 61 67 2c 52 61 64 69  6f 2c 31 32 20 28 52 65  |rag,Radio,12 (Re|
00003a20  73 65 72 76 65 64 29 2c  31 33 20 28 52 65 73 65  |served),13 (Rese|
00003a30  72 76 65 64 29 0d 01 a2  1f dc 20 57 72 69 74 65  |rved)..... Write|
00003a40  2f 43 6c 69 63 6b 2f 44  72 61 67 2c 57 72 69 74  |/Click/Drag,Writ|
00003a50  61 62 6c 65 0d 01 a3 04  0d 01 a4 0c dd f2 66 69  |able..........fi|
00003a60  6e 64 78 79 0d 01 a5 33  20 21 62 6c 6f 63 6b 25  |ndxy...3 !block%|
00003a70  3d 77 69 63 6f 6e 25 3a  c8 99 22 57 69 6d 70 5f  |=wicon%:.."Wimp_|
00003a80  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00003a90  2c 62 6c 6f 63 6b 25 0d  01 a6 20 20 58 25 3d 62  |,block%...  X%=b|
00003aa0  6c 6f 63 6b 25 21 31 32  2b 34 3a 59 25 3d 62 6c  |lock%!12+4:Y%=bl|
00003ab0  6f 63 6b 25 21 31 36 0d  01 a7 05 e1 0d 01 a8 04  |ock%!16.........|
00003ac0  0d 01 a9 17 dd f2 65 72  72 6f 72 3a 21 62 6c 6f  |......error:!blo|
00003ad0  63 6b 25 3d 32 35 35 0d  01 aa 1a 20 e7 20 9f 3d  |ck%=255.... . .=|
00003ae0  36 34 38 20 80 20 61 6c  74 65 72 69 6e 67 25 20  |648 . altering% |
00003af0  8c 0d 01 ab 52 20 20 f2  72 65 70 6f 72 74 28 22  |....R  .report("|
00003b00  54 68 65 20 69 63 6f 6e  20 79 6f 75 20 61 72 65  |The icon you are|
00003b10  20 61 6c 74 65 72 69 6e  67 20 6e 6f 20 6c 6f 6e  | altering no lon|
00003b20  67 65 72 20 65 78 69 73  74 73 2c 20 69 74 20 77  |ger exists, it w|
00003b30  69 6c 6c 20 62 65 20 66  6f 72 67 6f 74 74 65 6e  |ill be forgotten|
00003b40  2e 22 29 0d 01 ac 14 20  20 61 69 68 25 3d 30 3a  |.")....  aih%=0:|
00003b50  61 69 77 68 25 3d 30 0d  01 ad 06 20 cc 0d 01 ae  |aiwh%=0.... ....|
00003b60  51 20 20 24 28 62 6c 6f  63 6b 25 2b 34 29 3d f6  |Q  $(block%+4)=.|
00003b70  24 2b 22 20 22 2b c3 9e  2b 22 2e 20 20 43 6c 69  |$+" "+..+".  Cli|
00003b80  63 6b 20 4f 4b 20 63 6f  6e 74 69 6e 75 65 20 6f  |ck OK continue o|
00003b90  72 20 43 41 4e 43 45 4c  20 74 6f 20 71 75 69 74  |r CANCEL to quit|
00003ba0  20 61 70 70 6c 69 63 61  74 69 6f 6e 2e 22 0d 01  | application."..|
00003bb0  af 31 20 20 c8 99 22 57  69 6d 70 5f 52 65 70 6f  |.1  .."Wimp_Repo|
00003bc0  72 74 45 72 72 6f 72 22  2c 62 6c 6f 63 6b 25 2c  |rtError",block%,|
00003bd0  33 2c 61 70 70 24 20 b8  20 2c 66 6c 61 67 25 0d  |3,app$ . ,flag%.|
00003be0  01 b0 26 20 20 e7 20 66  6c 61 67 25 3d 32 20 8c  |..&  . flag%=2 .|
00003bf0  20 c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 44 6f  | .."Wimp_CloseDo|
00003c00  77 6e 22 3a e0 0d 01 b1  06 20 cd 0d 01 b2 05 e1  |wn":..... ......|
00003c10  0d 01 b3 04 0d 01 b4 0f  dd f2 69 6e 69 74 65 72  |..........initer|
00003c20  72 6f 72 0d 01 b5 0e 20  ee 85 20 f2 65 72 72 6f  |ror.... .. .erro|
00003c30  72 0d 01 b6 38 20 21 62  6c 6f 63 6b 25 3d 32 35  |r...8 !block%=25|
00003c40  35 3a 24 28 62 6c 6f 63  6b 25 2b 34 29 3d f6 24  |5:$(block%+4)=.$|
00003c50  2b 22 2e 20 20 57 69 6d  70 46 6c 61 67 73 20 6d  |+".  WimpFlags m|
00003c60  75 73 74 20 71 75 69 74  22 0d 01 b7 3c 20 c8 99  |ust quit"...< ..|
00003c70  22 57 69 6d 70 5f 52 65  70 6f 72 74 45 72 72 6f  |"Wimp_ReportErro|
00003c80  72 22 2c 62 6c 6f 63 6b  25 2c 31 2c 61 70 70 24  |r",block%,1,app$|
00003c90  3a c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 44 6f  |:.."Wimp_CloseDo|
00003ca0  77 6e 22 3a e0 0d 01 b8  05 e1 0d 01 b9 04 0d 01  |wn":............|
00003cb0  ba 12 dd f2 72 65 70 6f  72 74 28 72 65 70 24 29  |....report(rep$)|
00003cc0  0d 01 bb 52 20 21 72 65  70 25 3d 32 35 35 3a 24  |...R !rep%=255:$|
00003cd0  28 72 65 70 25 2b 34 29  3d 72 65 70 24 2b bd 30  |(rep%+4)=rep$+.0|
00003ce0  3a c8 99 22 57 69 6d 70  5f 52 65 70 6f 72 74 45  |:.."Wimp_ReportE|
00003cf0  72 72 6f 72 22 2c 72 65  70 25 2c 31 37 2c 22 4d  |rror",rep%,17,"M|
00003d00  65 73 73 61 67 65 20 66  72 6f 6d 20 22 2b 61 70  |essage from "+ap|
00003d10  70 24 0d 01 bc 05 e1 0d  ff                       |p$.......|
00003d19