package Ġio . github . david par to uc he . multiple inputs demo Ċ Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . Input Multip lexer Ċ import Ġcom . badlogic . gdx . graphics . Color Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Bitmap Font Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Glyph Layout Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Sprite Batch Ċ import Ġcom . badlogic . gdx . input . Gesture Detector Ċ import Ġcom . badlogic . gdx . math . Vector 2 Ċ import Ġk tx . app . K tx Application Adapter Ċ import Ġk tx . app . K tx Input Adapter Ċ import Ġk tx . app . clear Screen Ċ import Ġk tx . graphics . use Ċ Ċ class ĠMultiple Inputs Demo Ġ: ĠK tx Application Adapter , ĠGest ure Detector . Gesture Adapter (), ĠK tx Input Adapter Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbatch : ĠSprite Batch ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfont : ĠBitmap Font ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġglyph Layout : ĠGlyph Layout ĊĠĠĠ Ġprivate Ġvar Ġmessage : ĠString Ġ= Ġ" No Ġgesture Ġperformed Ġyet " ĊĠĠĠ Ġprivate Ġval Ġwidth Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠG dx . graphics . width ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġheight Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠG dx . graphics . height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġbatch Ġ= ĠSprite Batch () ĊĠĠĠĠĠĠĠ Ġfont Ġ= ĠBitmap Font ( G dx . files . internal (" arial - 1 5 . f nt ")) ĊĠĠĠĠĠĠĠ Ġfont . color Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠ Ġglyph Layout Ġ= ĠGlyph Layout () ĊĊĠĠĠĠĠĠĠ Ġval Ġinput Multip lexer Ġ= ĠInput Multip lexer () ĊĠĠĠĠĠĠĠ Ġval Ġgesture Detector Ġ= ĠGest ure Detector ( this ) ĊĠĠĠĠĠĠĠ Ġinput Multip lexer . add Processor ( gesture Detector ) ĊĠĠĠĠĠĠĠ Ġinput Multip lexer . add Processor ( this ) ĊĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġinput Multip lexer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġbatch . dispose () ĊĠĠĠĠĠĠĠ Ġfont . dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender () Ġ{ ĊĠĠĠĠĠĠĠ Ġclear Screen ( 1 f , Ġ 1 f , Ġ 1 f ) ĊĊĠĠĠĠĠĠĠ Ġglyph Layout . setText ( font , Ġmessage ) ĊĠĠĠĠĠĠĠ Ġbatch . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfont . draw ( it , Ġglyph Layout , Ġwidth Ġ/ Ġ 2 f Ġ- Ġglyph Layout . width Ġ/ Ġ 2 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ/ Ġ 2 f Ġ- Ġglyph Layout . height Ġ/ Ġ 2 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtap ( x : ĠFloat , Ġy : ĠFloat , Ġcount : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Tap Ġperformed , Ġfinger : Ġ$ button " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlong Press ( x : ĠFloat , Ġy : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Long Ġpress Ġperformed " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfl ing ( velocity X : ĠFloat , Ġvelocity Y : ĠFloat , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Fl ing Ġperformed , Ġvelocity : Ġ$ velocity X ,$ velocity Y " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpan ( x : ĠFloat , Ġy : ĠFloat , Ġdelta X : ĠFloat , Ġdelta Y : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Pan Ġperformed , Ġdelta : Ġ$ delta X ,$ delta Y " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġzoom ( initial Distance : ĠFloat , Ġdistance : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Zoom Ġperformed , Ġinitial Ġdistance : Ġ$ initial Distance , Ġdistance : Ġ$ distance " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpin ch ( initial Pointer 1 : ĠVector 2 ?, Ġinitial Pointer 2 : ĠVector 2 ?, Ġpointer 1 : ĠVector 2 ?, Ġpointer 2 : ĠVector 2 ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Pin ch Ġperformed " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Down ( x : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" touch Ġdown !" ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey Down ( key code : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Key ĠDown " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey Up ( key code : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Key ĠUp " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey Typed ( character : ĠChar ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Key Ġtyped " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Down ( screen X : ĠInt , Ġscreen Y : ĠInt , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Touch ĠDown " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Up ( screen X : ĠInt , Ġscreen Y : ĠInt , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Touch ĠUp " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Drag ged ( screen X : ĠInt , Ġscreen Y : ĠInt , Ġpointer : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Touch ĠDrag ged " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmouse Moved ( screen X : ĠInt , Ġscreen Y : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Mouse ĠM oved " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsc rolled ( amount : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Sc rolled " ĊĠĠĠĠĠĠĠ ĠG dx . app . log (" INFO ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } ĊĊ