Home » Archimedes archive » Acorn Computing » 1994 08 subscription disc.adf » 9408s » Shareware/Event/Documents/Examples/!Redraw/FWindow
Shareware/Event/Documents/Examples/!Redraw/FWindow
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 » Acorn Computing » 1994 08 subscription disc.adf » 9408s |
Filename: | Shareware/Event/Documents/Examples/!Redraw/FWindow |
Read OK: | ✔ |
File size: | 053E bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1DEF FNshell_WimpInit_I(Version%,TaskName$) 2SYS "Wimp_Initialise",Version%,&4B534154,TaskName$ TO Version%,Taskid% 3_U%!148=Taskid% 4SYS "Interface_Initialise",Taskid% 5SYS "FontWindow_Initialise",Taskid%,0,0,0,0,0,_U%!232,100 OR 0,0 6=Taskid% 7: 8DEF PROCshell_WimpCloseDown_I(Taskid%) 9PROCshell_LoseFonts 10IF _U%!240<>-1 THEN SYS "FontMenu_Release" 11SYS "Wimp_CloseDown",Taskid%,&4B534154 12SYS "Interface_CloseDown",Taskid% 13SYS "FontWindow_CloseDown",Taskid%,TRUE,FALSE 14ENDPROC 15: 16DEF PROCshell_CreateWindow(ident$,RETURN handle%) 17LOCAL wb_ptr% 18wb_ptr%=FNshell_GetWB(ident$) 19REM set 'sprite area' pointer to usersprites area 20wb_ptr%!64=_U%!16 21SYS "FontWindow_CreateWindow",_U%!148,wb_ptr%,0 TO handle% 22ENDPROC 23: 24DEF PROCshell_MenuWarnDBox(addr%,x%,y%) 25LOCAL temp%,h%,void% 26LOCAL ERROR 27ON ERROR LOCAL:RESTORE ERROR:ENDPROC 28temp%=addr%!4 29PROCshell_CreateWindow($temp%!0,h%) 30RESTORE ERROR 31PROCshell_Tracef0("MenuWarnDBox:Creating new dynamic dbox (handle=&"+STR$~h%+")") 32IF $temp%!4<>"" THEN 33 PROCshell_Tracef0("MenuWarnDBox:Calling preopen FN '"+$temp%!4+"'") 34 void%=EVAL("FN"+$temp%!4+"("+STR$h%+")") 35ENDIF 36IF $temp%!8<>"" THEN 37 PROCshell_Tracef0("MenuWarnDBox:Calling postopen FN '"+$temp%!8+"'") 38 void%=EVAL("FN"+$temp%!8+"("+STR$h%+")") 39ENDIF 40REM h% is new window handle.... 41SYS "FontWindow_UpdateWindow",_U%!148,h% 42SYS "Wimp_CreateSubMenu",,h%,x%,y% 43_U%!20=h% 44ENDPROC 45:
+� �shell_WimpInit_I(Version%,TaskName$) Hș "Wimp_Initialise",Version%,&4B534154,TaskName$ � Version%,Taskid% _U%!148=Taskid% %ș "Interface_Initialise",Taskid% Bș "FontWindow_Initialise",Taskid%,0,0,0,0,0,_U%!232,100 � 0,0 =Taskid% : %� �shell_WimpCloseDown_I(Taskid%) �shell_LoseFonts +� _U%!240<>-1 � ș "FontMenu_Release" )ș "Wimp_CloseDown",Taskid%,&4B534154 $ș "Interface_CloseDown",Taskid% )ș "FontWindow_CloseDown",Taskid%,�,� � : +� �shell_CreateWindow(ident$,� handle%) � wb_ptr% wb_ptr%=�shell_GetWB(ident$) 3� set 'sprite area' pointer to usersprites area wb_ptr%!64=_U%!16 <ș "FontWindow_CreateWindow",_U%!148,wb_ptr%,0 � handle% � : &� �shell_MenuWarnDBox(addr%,x%,y%) � temp%,h%,void% � � � � �:� �:� temp%=addr%!4 $�shell_CreateWindow($temp%!0,h%) � � O�shell_Tracef0("MenuWarnDBox:Creating new dynamic dbox (handle=&"+�~h%+")") � $temp%!4<>"" � !F �shell_Tracef0("MenuWarnDBox:Calling preopen FN '"+$temp%!4+"'") "( void%=�("FN"+$temp%!4+"("+�h%+")") #� $� $temp%!8<>"" � %G �shell_Tracef0("MenuWarnDBox:Calling postopen FN '"+$temp%!8+"'") &( void%=�("FN"+$temp%!8+"("+�h%+")") '� (!� h% is new window handle.... )+ș "FontWindow_UpdateWindow",_U%!148,h% *%ș "Wimp_CreateSubMenu",,h%,x%,y% + _U%!20=h% ,� -: �
00000000 0d 00 01 2b dd 20 a4 73 68 65 6c 6c 5f 57 69 6d |...+. .shell_Wim| 00000010 70 49 6e 69 74 5f 49 28 56 65 72 73 69 6f 6e 25 |pInit_I(Version%| 00000020 2c 54 61 73 6b 4e 61 6d 65 24 29 0d 00 02 48 c8 |,TaskName$)...H.| 00000030 99 20 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 |. "Wimp_Initiali| 00000040 73 65 22 2c 56 65 72 73 69 6f 6e 25 2c 26 34 42 |se",Version%,&4B| 00000050 35 33 34 31 35 34 2c 54 61 73 6b 4e 61 6d 65 24 |534154,TaskName$| 00000060 20 b8 20 56 65 72 73 69 6f 6e 25 2c 54 61 73 6b | . Version%,Task| 00000070 69 64 25 0d 00 03 13 5f 55 25 21 31 34 38 3d 54 |id%...._U%!148=T| 00000080 61 73 6b 69 64 25 0d 00 04 25 c8 99 20 22 49 6e |askid%...%.. "In| 00000090 74 65 72 66 61 63 65 5f 49 6e 69 74 69 61 6c 69 |terface_Initiali| 000000a0 73 65 22 2c 54 61 73 6b 69 64 25 0d 00 05 42 c8 |se",Taskid%...B.| 000000b0 99 20 22 46 6f 6e 74 57 69 6e 64 6f 77 5f 49 6e |. "FontWindow_In| 000000c0 69 74 69 61 6c 69 73 65 22 2c 54 61 73 6b 69 64 |itialise",Taskid| 000000d0 25 2c 30 2c 30 2c 30 2c 30 2c 30 2c 5f 55 25 21 |%,0,0,0,0,0,_U%!| 000000e0 32 33 32 2c 31 30 30 20 84 20 30 2c 30 0d 00 06 |232,100 . 0,0...| 000000f0 0c 3d 54 61 73 6b 69 64 25 0d 00 07 05 3a 0d 00 |.=Taskid%....:..| 00000100 08 25 dd 20 f2 73 68 65 6c 6c 5f 57 69 6d 70 43 |.%. .shell_WimpC| 00000110 6c 6f 73 65 44 6f 77 6e 5f 49 28 54 61 73 6b 69 |loseDown_I(Taski| 00000120 64 25 29 0d 00 09 14 f2 73 68 65 6c 6c 5f 4c 6f |d%).....shell_Lo| 00000130 73 65 46 6f 6e 74 73 0d 00 0a 2b e7 20 5f 55 25 |seFonts...+. _U%| 00000140 21 32 34 30 3c 3e 2d 31 20 8c 20 c8 99 20 22 46 |!240<>-1 . .. "F| 00000150 6f 6e 74 4d 65 6e 75 5f 52 65 6c 65 61 73 65 22 |ontMenu_Release"| 00000160 20 20 0d 00 0b 29 c8 99 20 22 57 69 6d 70 5f 43 | ...).. "Wimp_C| 00000170 6c 6f 73 65 44 6f 77 6e 22 2c 54 61 73 6b 69 64 |loseDown",Taskid| 00000180 25 2c 26 34 42 35 33 34 31 35 34 0d 00 0c 24 c8 |%,&4B534154...$.| 00000190 99 20 22 49 6e 74 65 72 66 61 63 65 5f 43 6c 6f |. "Interface_Clo| 000001a0 73 65 44 6f 77 6e 22 2c 54 61 73 6b 69 64 25 0d |seDown",Taskid%.| 000001b0 00 0d 29 c8 99 20 22 46 6f 6e 74 57 69 6e 64 6f |..).. "FontWindo| 000001c0 77 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c 54 61 73 |w_CloseDown",Tas| 000001d0 6b 69 64 25 2c b9 2c a3 0d 00 0e 05 e1 0d 00 0f |kid%,.,.........| 000001e0 05 3a 0d 00 10 2b dd 20 f2 73 68 65 6c 6c 5f 43 |.:...+. .shell_C| 000001f0 72 65 61 74 65 57 69 6e 64 6f 77 28 69 64 65 6e |reateWindow(iden| 00000200 74 24 2c f8 20 68 61 6e 64 6c 65 25 29 0d 00 11 |t$,. handle%)...| 00000210 0d ea 20 77 62 5f 70 74 72 25 0d 00 12 20 77 62 |.. wb_ptr%... wb| 00000220 5f 70 74 72 25 3d a4 73 68 65 6c 6c 5f 47 65 74 |_ptr%=.shell_Get| 00000230 57 42 28 69 64 65 6e 74 24 29 0d 00 13 33 f4 20 |WB(ident$)...3. | 00000240 73 65 74 20 27 73 70 72 69 74 65 20 61 72 65 61 |set 'sprite area| 00000250 27 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 73 65 |' pointer to use| 00000260 72 73 70 72 69 74 65 73 20 61 72 65 61 0d 00 14 |rsprites area...| 00000270 15 77 62 5f 70 74 72 25 21 36 34 3d 5f 55 25 21 |.wb_ptr%!64=_U%!| 00000280 31 36 0d 00 15 3c c8 99 20 22 46 6f 6e 74 57 69 |16...<.. "FontWi| 00000290 6e 64 6f 77 5f 43 72 65 61 74 65 57 69 6e 64 6f |ndow_CreateWindo| 000002a0 77 22 2c 5f 55 25 21 31 34 38 2c 77 62 5f 70 74 |w",_U%!148,wb_pt| 000002b0 72 25 2c 30 20 b8 20 68 61 6e 64 6c 65 25 0d 00 |r%,0 . handle%..| 000002c0 16 05 e1 0d 00 17 05 3a 0d 00 18 26 dd 20 f2 73 |.......:...&. .s| 000002d0 68 65 6c 6c 5f 4d 65 6e 75 57 61 72 6e 44 42 6f |hell_MenuWarnDBo| 000002e0 78 28 61 64 64 72 25 2c 78 25 2c 79 25 29 0d 00 |x(addr%,x%,y%)..| 000002f0 19 14 ea 20 74 65 6d 70 25 2c 68 25 2c 76 6f 69 |... temp%,h%,voi| 00000300 64 25 0d 00 1a 07 ea 20 85 0d 00 1b 0f ee 20 85 |d%..... ...... .| 00000310 20 ea 3a f7 20 85 3a e1 0d 00 1c 11 74 65 6d 70 | .:. .:.....temp| 00000320 25 3d 61 64 64 72 25 21 34 0d 00 1d 24 f2 73 68 |%=addr%!4...$.sh| 00000330 65 6c 6c 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |ell_CreateWindow| 00000340 28 24 74 65 6d 70 25 21 30 2c 68 25 29 0d 00 1e |($temp%!0,h%)...| 00000350 07 f7 20 85 0d 00 1f 4f f2 73 68 65 6c 6c 5f 54 |.. ....O.shell_T| 00000360 72 61 63 65 66 30 28 22 4d 65 6e 75 57 61 72 6e |racef0("MenuWarn| 00000370 44 42 6f 78 3a 43 72 65 61 74 69 6e 67 20 6e 65 |DBox:Creating ne| 00000380 77 20 64 79 6e 61 6d 69 63 20 64 62 6f 78 20 28 |w dynamic dbox (| 00000390 68 61 6e 64 6c 65 3d 26 22 2b c3 7e 68 25 2b 22 |handle=&"+.~h%+"| 000003a0 29 22 29 0d 00 20 14 e7 20 24 74 65 6d 70 25 21 |)").. .. $temp%!| 000003b0 34 3c 3e 22 22 20 8c 0d 00 21 46 20 20 f2 73 68 |4<>"" ...!F .sh| 000003c0 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4d 65 6e |ell_Tracef0("Men| 000003d0 75 57 61 72 6e 44 42 6f 78 3a 43 61 6c 6c 69 6e |uWarnDBox:Callin| 000003e0 67 20 70 72 65 6f 70 65 6e 20 46 4e 20 27 22 2b |g preopen FN '"+| 000003f0 24 74 65 6d 70 25 21 34 2b 22 27 22 29 0d 00 22 |$temp%!4+"'").."| 00000400 28 20 20 76 6f 69 64 25 3d a0 28 22 46 4e 22 2b |( void%=.("FN"+| 00000410 24 74 65 6d 70 25 21 34 2b 22 28 22 2b c3 68 25 |$temp%!4+"("+.h%| 00000420 2b 22 29 22 29 0d 00 23 05 cd 0d 00 24 14 e7 20 |+")")..#....$.. | 00000430 24 74 65 6d 70 25 21 38 3c 3e 22 22 20 8c 0d 00 |$temp%!8<>"" ...| 00000440 25 47 20 20 f2 73 68 65 6c 6c 5f 54 72 61 63 65 |%G .shell_Trace| 00000450 66 30 28 22 4d 65 6e 75 57 61 72 6e 44 42 6f 78 |f0("MenuWarnDBox| 00000460 3a 43 61 6c 6c 69 6e 67 20 70 6f 73 74 6f 70 65 |:Calling postope| 00000470 6e 20 46 4e 20 27 22 2b 24 74 65 6d 70 25 21 38 |n FN '"+$temp%!8| 00000480 2b 22 27 22 29 0d 00 26 28 20 20 76 6f 69 64 25 |+"'")..&( void%| 00000490 3d a0 28 22 46 4e 22 2b 24 74 65 6d 70 25 21 38 |=.("FN"+$temp%!8| 000004a0 2b 22 28 22 2b c3 68 25 2b 22 29 22 29 0d 00 27 |+"("+.h%+")")..'| 000004b0 07 cd 20 20 0d 00 28 21 f4 20 68 25 20 69 73 20 |.. ..(!. h% is | 000004c0 6e 65 77 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c |new window handl| 000004d0 65 2e 2e 2e 2e 0d 00 29 2b c8 99 20 22 46 6f 6e |e......)+.. "Fon| 000004e0 74 57 69 6e 64 6f 77 5f 55 70 64 61 74 65 57 69 |tWindow_UpdateWi| 000004f0 6e 64 6f 77 22 2c 5f 55 25 21 31 34 38 2c 68 25 |ndow",_U%!148,h%| 00000500 0d 00 2a 25 c8 99 20 22 57 69 6d 70 5f 43 72 65 |..*%.. "Wimp_Cre| 00000510 61 74 65 53 75 62 4d 65 6e 75 22 2c 2c 68 25 2c |ateSubMenu",,h%,| 00000520 78 25 2c 79 25 0d 00 2b 0d 5f 55 25 21 32 30 3d |x%,y%..+._U%!20=| 00000530 68 25 0d 00 2c 05 e1 0d 00 2d 05 3a 0d ff |h%..,....-.:..| 0000053e