VolksForth/AtariST/GEM/SUPERGEM.FB

1 line
16 KiB
Plaintext
Raw Normal View History

2017-04-23 22:25:49 +00:00
\\ *** SUPERGEM.SCR *** 16sep86we In diesem File soll eine GEM-Library aufgebaut werden, die komfortablere Routinen als die Standardbefehle mit Ihren un- <20>bersehbaren Parametern zur Verf<72>gung stellt. Bei der Entwicklung des Editors sind bereits einige solche Routinen entstanden. F<>r Anregungen gerade in diesem Bereich sind wir dankbar.... \ GEM-Library Loadscreen cas20130105 Onlyforth GEM also \needs scr>mem $10 loadfrom gem\vdi.fb Onlyforth GEM also definitions 1 4 +thru \ Resource Trees and objects 02sep86we : tree! ( tree -- ) 0 swap rsrc_gaddr objc_tree 2! ; : objc_gaddr ( object# -- laddr ) &24 * extend objc_tree 2@ d+ ; : text_gaddr ( object# -- laddr ) objc_gaddr &12 extend d+ l2@ l2@ ; : alert ( n -- button ) show_c 5 swap rsrc_gaddr addrin 2! 1 intin ! &52 1 1 1 AES hide_c ; \ Move text to Objects and back 02nov86we : putstring ( addr object# -- ) >r count under >r >absaddr r> r@ text_gaddr rot lcmove 0 swap extend r> text_gaddr d+ lc! ; : getstring ( object# addr -- ) >r text_gaddr 0 BEGIN >r 2dup r@ extend d+ lc@ WHILE r> 1+ REPEAT r> r> 2dup c! 1+ >absaddr rot lcmove ; : getnumber ( object# -- d ) pad getstring pad count bl skip swap 1- dup >r c! r@ capitalize c@ IF r> number ELSE rdrop 0 0 THEN ; : putnumber ( d object# -- ) >r <# #s #> over 1- c! 1- r> putstring ;