\ mouse server action
\ the whole screen is devided into 16x16 pixel sections. When pressing one
\ of the mouse keys, the apprpriate action is taken.
needs get-mouse-position lib.arm.mouseactio

\ 0 constant ?mouse-action
\ task: mouse-server
\ : do-mouse-action
\ 	multi  false is ?mouse-action  1 set-mouse
\ 	mouse-server activate
\ 	begin	100 ms
\ 		?mouse-action 0=
\ 		if	get-mouse-position  mouse-button
\ 			if	true is ?mouse-action
\ 				mouse-field @ single ?execute
\ 				false is ?mouse-action multi slow-mouse
\ 			else fast-mouse
\ 			then
\ 		then
\ 	again ;
\ 0 constant ?mouse-action

task: mouse-server
: do-mouse-action
	multi   1 set-mouse
	mouse-server activate
	false locals| ?mouse-action |
	begin	100 ms
		?mouse-action 0=
		if	get-mouse-position  mouse-button
			if	true is ?mouse-action
				mouse-field @ single ?execute
				false is ?mouse-action multi slow-mouse
			else fast-mouse
			then
		then
	again ;
