( Source: https://git.sr.ht/~rabbits/turye Files: src/turye.tal src/manifest.tal src/assets.tal License: /licenses/uxn.txt ) |00 @System/vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1 |20 @Screen/vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |80 @Controller/vector $2 &button $1 &key $1 |90 @Mouse/vector $2 &x $2 &y $2 &state $1 &pad $3 &sx $2 &sy $1 &sy-lb $1 |a0 @File/vector $2 &success $1 &success-lb $1 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 |0012 @header/height |008a @MARGIN |000 @glyph/sel $1 @guide/height $1 @src/buf $40 &cap $1 &changed $1 |100 @on-reset ( -> ) #f0b9 .System/b DEO2 #f0ec .System/g DEO2 #f0a8 .System/r DEO2 #0210 #01d0 window/ ( | unlock ) ;on-button .Controller/vector DEO2 ;editor/on-mouse .Mouse/vector DEO2 ( | defaults ) [ LIT2 0b -guide/height ] STZ src/ [ LIT "a ] glyph/ @glyph/ ( -- ) .&sel LDZ #10 ADD !/ @glyph/ ( -- ) .&sel LDZ INC !/ ( glyph -- ) DUP .&sel LDZ NEQ ?{ POP JMP2r } .&sel STZ ! @glyph/get-addr ( -- addr* ) [ LIT2 00 -&sel ] LDZ #50 SFT2 ;data/glyphs ADD2 JMP2r @glyph/get-width ( -- width ) [ LIT2 00 -&sel ] LDZ ;data/widths ADD2 LDA JMP2r ( @|Collection ) @collection/on-mouse ( -> ) cursor/ .Mouse/state DEI ?{ BRK } ( | detect inside frame ) ( x ) .Mouse/x DEI2 #0008 SUB2 #05 SFT2 NIP ( y ) .Mouse/y DEI2 #00a8 SUB2 #0011 DIV2 #40 SFT2 NIP ORA glyph/