package Ġopen . ge os olve . ge os olve . model . canvas . controllers Ċ Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . containers . Canvas Data . Companion . active Canvas Data Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . containers . Canvas Data . Companion . active Figure Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . containers . Canvas Data . Companion . all Lines Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . elements . Circle Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . elements . Line Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . elements . Node Ċ import Ġopen . ge os olve . ge os olve . model . canvas . data . general ized . Bind Ċ import Ġopen . ge os olve . ge os olve . model . canvas . math . XY Point Ċ Ċ object ĠTouch Event Ġ{ ĊĊĠĠĠ Ġfun Ġon Touch Canvas ( point : ĠXY Point ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Touch ( point ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Touch Line ( line : ĠLine , Ġpoint : ĠXY Point ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Touch ( point , Ġline ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Touch Circle Line ( circle : ĠCircle , Ġpoint : ĠXY Point ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Touch ( point , Ġcircle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Touch ( point : ĠXY Point , Ġbind : ĠBind ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠnewNode Ġ= Ġpoint . to Node () ĊĠĠĠĠĠĠĠ ĠnewNode . bind Ġ= Ġbind ĊĠĠĠĠĠĠĠ Ġactive Figure . add Node ( new Node ) ĊĊĠĠĠĠĠĠĠ Ġon Touch Point ( new Node ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Touch Point ( touch Node : ĠNode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( touch Node Ġ!= Ġactive Canvas Data . last Node Ġ&& Ġactive Canvas Data . last Node Ġ!= Ġnull ) Ġ{ Ġ Ġ// ĠÐµÑģÐ»Ð¸ ĠÐ½ Ð°Ð¶ Ð°ÑĤ Ð°Ñı ĠÑĤ Ð¾Ñĩ ÐºÐ° ĠÐ¸ ĠÐºÐ¾Ð½ ÐµÑĩ Ð½Ð°Ñı ĠÑĤ Ð¾Ñĩ ÐºÐ° ĠÐ» Ð¸Ð½ Ð¸Ð¸ ĠÐ½Ðµ ĠÑĢÐ°Ð ² Ð½Ñĭ ĠÐ¸ ĠÐ¿ÑĢÐ¾ ÑĪ Ð»Ð° Ñı ĠÑĤ Ð¾Ñĩ ÐºÐ° ĠÐµ ÑģÑĤÑĮ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Line Ġ= ĠLine ( active Canvas Data . last Node !! , Ġtouch Node ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! all Lines . any Ġ{ Ġit . equal ( new Line ) Ġ}) Ġ{ Ġ// ĠÐ´Ð¾Ð±Ð°Ð² Ð»Ñı ÐµÐ¼ ĠÐ» Ð¸Ð½ Ð¸ Ñİ ĠÑĤÐ¾Ð»ÑĮÐºÐ¾ ĠÐµÑģÐ»Ð¸ ĠÐ½ ÐµÑĤ Ñĥ ĠÑĤÐ°Ðº Ð¾Ð¹ ĠÐ¶Ðµ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Figure . add Line ( new Line ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Figure . update Nodes () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Figure . update Lines () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Figure . update Angles () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġactive Canvas Data . last Node Ġ= Ġtouch Node ĊĠĠĠ Ġ} Ċ } Ċ