STRE Prototype SGLB Misc/Class Reference CLAS 354466 ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize CMNT Expects: É ¥ inst/É CMNT Set initial Cal settings for new touch screen LITO 0 LITO 2 LITO 7 PRIM S_tree/Replace LITO 16 LITO 3 LITO 7 PRIM S_tree/Replace LITO 5500 LITO 4 LITO 7 PRIM S_tree/Replace LITO 8 LITO 5 LITO 7 PRIM S_tree/Replace LITO 4300 LITO 6 LITO 7 PRIM S_tree/Replace CMNT ---- Initialize the video hardware ASIO OpStn/INIT_VID É ¥ inst/É LITO 6 index LITO 8 key PRIM S_tree/Read É ¥ initial D ratio/inst/É LITO 7 LITO 7 PRIM S_tree/Replace É ¥ inst/É CMTL ignore setting cal z limit LITO 4 LITO 8 PRIM S_tree/Read É ¥ cal z limit/inst/É LITO 2 LITO 7 PRIM S_tree/Replace É ¥ inst/É ECMT LCAL init touch É ¥ inst/É CMNT ---- start the loop PRIM Timer/Get PAT É ¥ time/inst/É PRIM Stack/Swap É ¥ inst/time/É GSYM OpStn/Trigger É ¥ method/inst/time/É CLAS 354466 delegate to self trigger ESBR SGLB OpStn/Trigger CMNT Expects: É ¥ inst/time/É CMNT ---- requeue trigger PRIM Stack/Swap É ¥ time/inst/É TIME 300.000 É ¥ Æt/time/inst/É GSYM OpStn/Trigger É ¥ method/Æt/time/inst/É CALL 354057 É ¥ inst/É CMNT ---- process touch LCAL read touch É ¥ [touch]/raw y/raw x/inst/É BRFL CMNT are not touching PRIM Stack/Drop É ¥ raw x/inst/É PRIM Stack/Drop É ¥ inst/É LITO 1 index LITO 8 key PRIM S_tree/Read É ¥ touch state/inst/É BRFL CMNT are not & were not touching LCAL set cal sprite PRIM Heap/Store self BRTR CMNT are not but were touching CMNT switch state LITO 0 now not touching LITO 1 LITO 8 PRIM S_tree/Replace É ¥ inst/É LCAL init touch É ¥ inst/É LITO 2 index LITO 8 key PRIM S_tree/Read É ¥ cal state/inst/É CMNT STRE SORD 0 released Z Force LITO 1 É ¥ new state/inst/É LCAL Set State ESBR SORD 1 released upper left LITO 2 É ¥ new state/inst/É LCAL Set State ESBR SORD 2 released lower right LITO 3 LITO 8 PRIM S_tree/Read É ¥ [prev passed]/inst/É BRFL LITO 1 É ¥ new state/inst/É LCAL Set State BRTR LITO 3 É ¥ new state/inst/É LCAL Set State ESBR SORD 3 released in done state PRIM Heap/Store self É ¥ É ESBR ESTR BRTR CMNT are touching PRIM Stack/Pop to aux É/raw y ¥ raw x/inst/É PRIM Stack/Pop to aux É/raw y/raw x ¥ inst/É LITO 1 LITO 8 PRIM S_tree/Read É/y/x ¥ touch state/inst/É BRFL CMNT are touching but were not LITO 1 set are touching LITO 1 LITO 8 PRIM S_tree/Replace É/y/x ¥ inst/É LITO 2 index LITO 8 key PRIM S_tree/Read É/y/x ¥ cal state/inst/É CMNT STRE SORD 0 PRESSED Z Force PRIM Stack/Drop from aux É/y ¥ inst/É PRIM Stack/Drop from aux É ¥ inst/É PRIM Heap/Store self É ¥ É ESBR SORD 3 PRESSED in done state PRIM Stack/Drop from aux PRIM Stack/Drop from aux É ¥ inst/É PRIM Heap/Store self É ¥ É ESBR ESTR BRTR CMNT are & were touching CMNT track movement PRIM Stack/Push from aux É/raw y ¥ raw x/inst/É PRIM Stack/Push from aux É ¥ raw y/raw x/inst/É LITO 1 É ¥ true/raw y/raw x/inst/É ASIO OpStn/GET_TOUCH É ¥ true/y pixel/x pixel/inst/É ASIO OpStn/SCREEN_SPRITE PRIM Stack/Drop PRIM Stack/Drop PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self ESBR ESTR LDEF init touch CMNT given instance, inits read screen ASIO CMNT Input: É ¥ inst/É CMNT Output: É ¥ inst/É LITO 0 index LITO 7 key PRIM S_tree/Read É ¥ list/inst/É PRIM List/Behead É ¥ last touched/list/inst/É PRIM Stack/Drop É ¥ list/inst/É ASIO OpStn/INIT_TOUCH É ¥ list/inst/É PRIM Stack/Drop É ¥ inst/É EDEF LDEF set cal sprite CMNT given instance, displays cal sprite CMNT Input: É ¥ inst/É CMNT Output: É ¥ inst/É LITO 2 index LITO 8 key PRIM S_tree/Read É ¥ cal state/inst/É LITO 3 PRIM Ordinal/Compare É ¥ [3 <= cal state]/cal state/inst/É BRFL CMNT not done yet LCAL Get Position É ¥ target y/target x/inst/É LITO 1 On ASIO OpStn/SCREEN_SPRITE É ¥ [OnOff]/y/x/inst/É PRIM Stack/Drop PRIM Stack/Drop PRIM Stack/Drop É ¥ inst/É BRTR CMNT done state LITO 0 x LITO 0 y LITO 0 Off ASIO OpStn/SCREEN_SPRITE É ¥ [OnOff]/y/x/cal state/inst/É PRIM Stack/Drop PRIM Stack/Drop PRIM Stack/Drop PRIM Stack/Drop É ¥ inst/É EDEF LDEF Get Position CMNT given cal state & instance, returns Y & X target CMNT Input: É ¥ cal state/inst/É CMNT Output: É ¥ target y/target x/inst/É PRIM Stack/Pop to aux É/cal state ¥ inst/É LITO 0 LITO 9 PRIM S_tree/Read É/cal state ¥ positions/inst/É LITO 1 PRIM Stack/Dup from aux Écal state ¥ cal state/1/positions/inst/É PRIM S_tree/Read Écal state ¥ target x/positions/inst/É PRIM Stack/Swap Écal state ¥ positions/target x/inst/É LITO 2 PRIM Stack/Push from aux É ¥ cal state/2/positions/target x/inst/É PRIM S_tree/Read É ¥ target y/positions/target x/inst/É PRIM Stack/Xdrop É ¥ target y/target x/inst/É EDEF LDEF Set State CMNT given new state & instance, sets the cal state CMNT Input: É ¥ new cal state/inst/É CMNT Output: É ¥ É LITO 2 index LITO 8 key PRIM S_tree/Replace É ¥ inst/É PRIM Heap/Store self EDEF LDEF delta CMNT given 2 ordinals, returns absolute difference CMNT Input: É ¥ a/b/É CMNT Output: É ¥ difference/É PRIM Ordinal/Reverse compare É ¥ [a => b]/a/b/É BRFL PRIM Ordinal/Subtract BRTR PRIM Ordinal/Difference EDEF LDEF in bounds CMNT given cal state and x & y pixels, returns true if within tolerance CMNT Input: Éy pixel/x pixel ¥ cal state/inst/É CMNT Output: É ¥ [within tol]/inst/É LCAL Get Position É/y pixel/x pixel ¥ target y/target x/inst/É PRIM Stack/Swap É/y pixel/x pixel ¥ target x/target y/inst/É PRIM Stack/Push from aux É/y pixel ¥ x pixel/target x/target y/inst/É LCAL delta É/y pixel ¥ x error/target y/inst/É PRIM Stack/Swap É/y pixel ¥ target y/x error/inst/É PRIM Stack/Push from aux É ¥ y pixel/target y/x error/inst/É LCAL delta É ¥ y error/x error/inst/É PRIM Stack/Pop to aux PRIM Stack/Pop to aux É/y error/x error ¥ inst/É LITO 5 LITO 8 PRIM S_tree/Read É/y error/x error ¥ /tol/inst/É PRIM Stack/Push from aux É/y error ¥ x error/tol/inst/É PRIM Ordinal/Compare É/y error ¥ [x error <= tol]/tol/inst/É PRIM Stack/Swap É/y error ¥ tol/[x error <= tol]/inst/É PRIM Stack/Push from aux É ¥ y error/tol/[x error <= tol]/inst/É PRIM Ordinal/Compare É ¥ [y error <= tol]/tol/[x error <= tol]/inst/É PRIM Stack/Xdrop É ¥ [y error <= tol]/[x error <= tol]/inst/É PRIM Ordinal/And É ¥ [within tol]/inst/É EDEF LDEF read touch CMNT does normal read CMNT Input: É ¥ inst/É CMNT Output: É ¥ [touch]/raw y/raw x/inst/É ASIO OpStn/READ_SCREEN É ¥ [touch]/y/x/inst/É EDEF