~rabbits/left

59206e221a69c2aca4f84118a4080750d98c55f8 — neauoire 4 months ago c309e91
Renamed glyph width getter
1 files changed, 11 insertions(+), 12 deletions(-)

M src/left.tal
M src/left.tal => src/left.tal +11 -12
@@ 319,7 319,7 @@ BRK
	( a ) LIT2r 0000
	&hor
		LDAk #0a EQU ,&hor-end JCN
		;walk-width JSR2 STH2 ADD2r
		LDAk ;get-width JSR2 STH2 ADD2r
		LTH2kr STHr ,&hor-end JCN
		INC2 LDAk ,&hor JCN
	&hor-end


@@ 358,7 358,7 @@ BRK
@scroll-to ( line* -- )

	DUP2 .scroll/y LDZ2 EQU2 ,&skip JCN
	DUP2 ,get-lines JSR GTH2 ,&skip JCN
	DUP2 ,count-lines JSR GTH2 ,&skip JCN
	DUP2 ;set-scroll-y JSR2
	;draw-textarea JSR2
	;draw-widget/scroll JSR2


@@ 373,14 373,14 @@ JMP2r

JMP2r

@get-lines ( -- line* )
@count-lines ( -- line* )

	.scroll/y LDZ2 STH2
	.scroll/addr LDZ2
	,get-eof JSR .scroll/addr LDZ2
	&while
		LDAk #0a NEQ JMP INC2r
		INC2 LDAk ,&while JCN
	POP2
		INC2 GTH2k ,&while JCN
	POP2 POP2
	STH2r

JMP2r


@@ 398,7 398,7 @@ JMP2r
@set-scroll-y ( line* -- )

	( reset ratio )
	#0001 ;get-lines JSR2 .scrollbar/height LDZ2 DIV2 NIP #40 SFT SFT2 .scroll/ratio STZ2
	#0001 ;count-lines JSR2 .scrollbar/height LDZ2 DIV2 NIP #40 SFT SFT2 .scroll/ratio STZ2

	DUP2 .scroll/y LDZ2 EQU2 ,&same JCN
		DUP2 .scroll/y STZ2


@@ 437,7 437,7 @@ JMP2r
	DUP2 ;find-line-start JSR2 INC2
	&loop
		EQU2k ,&end JCN
		,walk-width JSR STH2 ADD2r
		LDAk ,get-width JSR STH2 ADD2r
		INC2 GTH2k ,&loop JCN
	&end
	POP2 POP2


@@ 445,9 445,8 @@ JMP2r

JMP2r

@walk-width ( addr* -- addr* width* )
@get-width ( char -- width* )

	LDAk
	.textarea/highlight LDZ ,&skip-highlight JCN
		[ LIT ". ] EQUk NIP ,&special JCN
		[ LIT ", ] EQUk NIP ,&special JCN


@@ 957,7 956,7 @@ JMP2
	( fg )
	;state-icns .Screen/addr DEO2
	( SCROLLBAR-Y0 ) #0018 STH2k [ .scroll/y LDZ2 .scroll/ratio LDZ2 STH2k DIV2 ] ADD2 .Screen/y DEO2
	.Screen/height DEI2 [ ;get-lines JSR2 STH2r DIV2 ] SUB2 STH2r SUB2 #03 SFT2 NIP INC #00
	.Screen/height DEI2 [ ;count-lines JSR2 STH2r DIV2 ] SUB2 STH2r SUB2 #03 SFT2 NIP INC #00
	&stretch
		#05 .Screen/sprite DEO
		INC GTHk ,&stretch JCN


@@ 1020,7 1019,7 @@ JMP2
		#00 OVR #40 SFT2 #0020 ADD2 .Screen/y DEO2
		DUP ;get-marker JSR2 INC2 LDA LIT "| EQU #03 MUL STH
		DUP [ LIT &sel $1 ] EQU #30 SFT STHr ADD INC ;draw-chr/color STA
		DUP ;get-marker JSR2 INC2 ;draw-marker JSR2 POP2
		DUP ;get-marker JSR2 ;draw-marker JSR2 POP2
		INC GTHk ,&loop JCN
	POP2