Road toward uxnfor
This commit is contained in:
parent
84bef276ee
commit
3872c8d272
|
@ -49,25 +49,25 @@ BRK
|
|||
@on-control ( -> )
|
||||
|
||||
.Controller/key DEI .Controller/button DEI
|
||||
( shortcuts )
|
||||
( | shortcuts )
|
||||
DUP2 [ LIT2 "a 01 ] NEQ2 ?{ POP2 select-all BRK }
|
||||
DUP2 [ LIT2 "x 01 ] NEQ2 ?{ POP2 edit-cut BRK }
|
||||
DUP2 [ LIT2 "c 01 ] NEQ2 ?{ POP2 edit-copy BRK }
|
||||
DUP2 [ LIT2 "v 01 ] NEQ2 ?{ POP2 edit-paste BRK }
|
||||
( mask shift key )
|
||||
( | mask shift key )
|
||||
#fb AND
|
||||
( arrows )
|
||||
( | arrows )
|
||||
DUP #10 NEQ ?{ get-to #0001 SUB2 find-line-start select-variable }
|
||||
DUP #20 NEQ ?{ get-to INC2 find-line-end select-variable }
|
||||
DUP #40 NEQ ?{ select-left }
|
||||
DUP #80 NEQ ?{ select-right }
|
||||
DUP #42 NEQ ?{ .selection/b LDZ2 #0001 SUB2 find-word-start select-variable }
|
||||
DUP #82 NEQ ?{ .selection/b LDZ2 INC2 find-word-end select-variable }
|
||||
( pagination )
|
||||
( | pagination )
|
||||
DUP #21 NEQ OVR #81 NEQ AND ?{ next-page }
|
||||
DUP #11 NEQ OVR #41 NEQ AND ?{ prev-page }
|
||||
POP
|
||||
( key )
|
||||
( | key )
|
||||
DUP #08 NEQ ?{ erase }
|
||||
DUP #7f NEQ ?{ delete }
|
||||
DUP #09 LTH ?{ DUP insert }
|
||||
|
@ -163,7 +163,7 @@ BRK
|
|||
POP JMP2r
|
||||
&has-space
|
||||
|
||||
( convert linebreaks )
|
||||
( | convert linebreaks )
|
||||
DUP #0d EQU #03 MUL SUB
|
||||
|
||||
.selection/length LDZ2 #0000 EQU2 ?{ erase-selection }
|
||||
|
@ -329,7 +329,7 @@ JMP2r
|
|||
|
||||
;notepad-txt file-size #0000 EQU2 ?file-new
|
||||
|
||||
( load file )
|
||||
( | load file )
|
||||
|
||||
;notepad-txt .File/name DEO2
|
||||
#8000 .File/length DEO2
|
||||
|
@ -379,7 +379,7 @@ JMP2r
|
|||
STH2
|
||||
.File/name DEO2
|
||||
STH2kr .File/length DEO2
|
||||
( erase when selection length )
|
||||
( | erase when selection length )
|
||||
.selection/length LDZ2 #0000 EQU2 ?{
|
||||
get-from get-eof .selection/length LDZ2 msfl
|
||||
}
|
||||
|
@ -463,7 +463,7 @@ JMP2r
|
|||
|
||||
#0008 .Screen/x DEO2
|
||||
#0018 .Screen/y DEO2
|
||||
( walk to line )
|
||||
( | walk to line )
|
||||
.Mouse/y DEI2 pos-to-line ,&line STR
|
||||
get-page
|
||||
&walk-line
|
||||
|
@ -471,7 +471,7 @@ JMP2r
|
|||
walk-char POP
|
||||
INC2 LDAk ?&walk-line
|
||||
&end-line
|
||||
( walk to char )
|
||||
( | walk to char )
|
||||
.Mouse/x DEI2 #0001 SUB2 ,&x STR2
|
||||
&walk-char
|
||||
.Screen/x DEI2 [ LIT2 &x $2 ] GTH2 ?&end-char
|
||||
|
@ -483,10 +483,10 @@ JMP2r
|
|||
|
||||
@walk-char ( addr* -- addr* lb )
|
||||
|
||||
( wrap )
|
||||
( | wrap )
|
||||
LDAk #20 GTH ?&no-wrap
|
||||
DUP2 word-width .Screen/x DEI2 ADD2 #00d0 LTH2 ?&no-wrap
|
||||
( tabbed )
|
||||
( | tabbed )
|
||||
DUP2 find-line-start LDA2
|
||||
DUP2 #093e NEQ2 ?{
|
||||
POP2 #01 #0021 !draw-linebreak }
|
||||
|
@ -495,14 +495,14 @@ JMP2r
|
|||
POP2
|
||||
#01 #0008 !draw-linebreak
|
||||
&no-wrap
|
||||
( char )
|
||||
( | char )
|
||||
LDAk char-width .Screen/x DEI2 ADD2
|
||||
.Screen/x DEO2
|
||||
( tab )
|
||||
( | tab )
|
||||
LDAk #09 NEQ ?{
|
||||
#00 !draw-tab
|
||||
}
|
||||
( linebreak )
|
||||
( | linebreak )
|
||||
LDAk #0a NEQ ?{
|
||||
#01 #0008 !draw-linebreak
|
||||
}
|
||||
|
@ -602,19 +602,19 @@ JMP2r
|
|||
|
||||
@draw-header ( -- )
|
||||
|
||||
( a )
|
||||
( | a )
|
||||
#0000
|
||||
DUP2 .Screen/x DEO2
|
||||
.Screen/y DEO2
|
||||
[ LIT2 15 -Screen/auto ] DEO
|
||||
;bar-icn/a .Screen/addr DEO2
|
||||
[ LIT2 01 -Screen/sprite ] DEO
|
||||
( close )
|
||||
( | close )
|
||||
;close-icn
|
||||
#00 [ LIT2 00 -Mouse/state ] DEI NEQ .Mouse/x DEI2 #0008 SUB2 #000a LTH2 AND
|
||||
#50 SFT2 ADD2 .Screen/addr DEO2
|
||||
[ LIT2 01 -Screen/sprite ] DEOk DEO
|
||||
( lead )
|
||||
( | lead )
|
||||
#e9 &l
|
||||
;bar-icn/b .Screen/addr DEO2
|
||||
[ LIT2 01 -Screen/sprite ] DEO
|
||||
|
@ -622,12 +622,12 @@ JMP2r
|
|||
POP
|
||||
;bar-icn/b .Screen/addr DEO2
|
||||
[ LIT2 01 -Screen/sprite ] DEOk DEO
|
||||
( title )
|
||||
( | title )
|
||||
#004b .Screen/x DEO2
|
||||
[ LIT2 86 -Screen/auto ] DEO
|
||||
;title-icn .Screen/addr DEO2
|
||||
[ LIT2 01 -Screen/sprite ] DEOk DEO
|
||||
( line )
|
||||
( | line )
|
||||
[ LIT2 d2 -Screen/auto ] DEO
|
||||
#0000 .Screen/x DEO2
|
||||
#0010 .Screen/y DEO2
|
||||
|
@ -644,6 +644,7 @@ JMP2r
|
|||
#0000 .Screen/x DEO2
|
||||
#0018 .Screen/y DEO2
|
||||
[ LIT2 80 -Screen/pixel ] DEO
|
||||
( >> )
|
||||
|
||||
@draw-note ( -- )
|
||||
|
||||
|
@ -652,11 +653,11 @@ JMP2r
|
|||
#0018 .Screen/y DEO2
|
||||
get-page
|
||||
&while
|
||||
( draw char )
|
||||
( | draw char )
|
||||
DUP2 #0001 SUB2 LDA2 char-addr .Screen/addr DEO2
|
||||
is-selected STH #0701 STHr [ JMP SWP POP ] .Screen/sprite DEOk DEO
|
||||
.Screen/x DEI2k #0010 SUB2 ROT DEO2
|
||||
( draw selector )
|
||||
( | draw selector )
|
||||
get-from get-to NEQ2 ?&block
|
||||
DUP2 get-from NEQ2 ?&block
|
||||
;on-frame/last LDA #01 AND ?&block
|
||||
|
@ -678,7 +679,7 @@ JMP2r
|
|||
.Screen/height DEI2 #0020 SUB2 .Screen/y DEO2
|
||||
;page-icn .Screen/addr DEO2
|
||||
[ LIT2 01 -Screen/sprite ] DEOk DEOk DEOk DEO
|
||||
( across )
|
||||
( | across )
|
||||
[ LIT2 01 -Screen/auto ] DEO
|
||||
#0018 .Screen/x DEO2
|
||||
.Screen/height DEI2 #0008 SUB2 .Screen/y DEO2
|
||||
|
@ -687,7 +688,7 @@ JMP2r
|
|||
[ LIT2 01 -Screen/sprite ] DEO
|
||||
INC DUP ?&l
|
||||
POP
|
||||
( page number )
|
||||
( | page number )
|
||||
[ LIT2 15 -Screen/auto ] DEO
|
||||
.Screen/width DEI2 #01 SFT2 #0003 SUB2 .Screen/x DEO2
|
||||
.Screen/height DEI2 #0020 SUB2 .Screen/y DEO2
|
||||
|
|
Loading…
Reference in New Issue