~rabbits/oekaki

f128c3fbd26f19750bc93c5a5f910d56b360eeb4 — neauoire 2 months ago 32de4c0
Added flow
1 files changed, 23 insertions(+), 5 deletions(-)

M src/oekaki.tal
M src/oekaki.tal => src/oekaki.tal +23 -5
@@ 12,7 12,7 @@

	@src $1 &buf $30
	@canvas &width $2 &height $2 &length $2 &x $2 &y $2
	@brush &color $1 &shape $1 &patt $1 &blend $1 &tool $1
	@brush &color $1 &shape $1 &patt $1 &blend $1 &tool $1 &flow $1
	@menu &hide $1

|0100


@@ 130,7 130,10 @@
	DUP #03 GTH ?{ <release-mouse>
		<set-tool>
		!<post-vector> }
	DUP #0a LTH ?{ <release-mouse>
	DUP #0a NEQ ?{
		<release-mouse>
		.brush/flow LDZ INC <set-flow> }
	DUP #0b NEQ ?{ <release-mouse>
		<toggle-blend> }
	POP !<post-vector>



@@ 175,6 178,10 @@
	.brush/blend STZ
	!<draw-menu>

@<set-flow> ( blend -- )
	#03 AND .brush/flow STZ
	!<draw-menu>

@<set-color> ( color -- )
	.brush/color STZ
	<draw-pointer>


@@ 401,6 408,9 @@
	JMP2r

@<paint-dot> ( x* y* -- )
	( | flow )
	[ LIT &flow $1 ] INCk ,&flow STR
	.brush/flow LDZ INC DIVk MUL SUB #00 EQU ?{ POP2 POP2 JMP2r }
	get-brush-type ,&fn STR2
	get-brush-shape ,&patt STR2
	,&y STR2


@@ 620,8 630,11 @@
		DUP .brush/tool LDZ NEQ #0a MUL .Screen/sprite DEO
		INC GTHk ?&l-tools
	POP2
	( | flow )
	.canvas/height LDZ2 #0010 SUB2 .Screen/y DEO2
	;flow-icns [ LIT2 00 -brush/flow ] LDZ #30 SFT ADD2 .Screen/addr DEO2
	[ LIT2 00 -Screen/sprite ] DEO
	( | blend )
	.canvas/height LDZ2 #000c SUB2 .Screen/y DEO2
	;blend-icns [ LIT2 00 -brush/blend ] LDZ #30 SFT ADD2 .Screen/addr DEO2
	[ LIT2 00 -Screen/sprite ] DEO
	JMP2r


@@ 690,10 703,10 @@
	POP2
	( | redraw patt )
	;patts-icns/spray .Screen/addr DEO2
	#0002 .Screen/x DEO2
	#0000 .Screen/x DEO2
	#007a .Screen/y DEO2
	[ LIT2 00 -Screen/auto ] DEO
	[ LIT2 06 -Screen/sprite ] DEO
	[ LIT2 0c -Screen/sprite ] DEO
	JMP2r

@<clear-guide> ( -- )


@@ 865,6 878,11 @@
	0215 2220 2020 20c0 0205 0208 1020 4080
	02f5 aad4 aad6 aafe 0205 02f8 7838 5888 ]

@flow-icns
	[
	0000 00ff ff00 0000 0000 00ee ee00 0000
	0000 00db db00 0000 0000 00aa aa00 0000 ]

@blend-icns
	[
	ffff ffff 8181 81ff ff81 8181 ffff ffff ]