event);
}

CustomControls.prototype.onMouseUp = function(event){
  this.onMouseUpFunc(event);
}

CustomControls.prototype.onTouchStart = function(event){
  this.onTouchStartFunc(event);
}

CustomControls.prototype.onTouchMove = function(event){
  this.onTouchMoveFunc(event);
}

CustomControls.prototype.onTouchEnd = function(event){
  this.onTouchEndFunc(event);
}

CustomControls.prototype.onKeyUp = function(event){
  this.onKeyUpFunc(event);
}

CustomControls.prototype.onKeyDown = function(event){
  this.onKeyDownFunc(event);
}

CustomControls.prototype.update = function(){
  this.onUpdateFunc();
}
 /*
 *  Heap string table handling, string interning.
 */

#include "duk_internal.h"

/* Resize checks not needed if minsize == maxsize, typical for low memory
 * targets.
 */
#define DUK__STRTAB_RESIZE_CHECK
#if (DUK_USE_STRTAB_MINSIZE == DUK_USE_STRTAB_MAXSIZE)
#undef DUK__STRTAB_RESIZE_CHECK
#endif

#if defined(DUK_USE_STRTAB_PTRCOMP)
#define DUK__HEAPPTR_ENC16(heap,ptr)    DUK_USE_HEAPPTR_ENC16((heap)->heap_udata, (ptr))
#define DUK__HEAPPTR_DEC16(heap,val)    DUK_USE_HEAPPTR_DEC16((heap)->heap_udata, (val))
#define DUK__GET_STRTABLE(heap)         ((heap)->strtable16)
#else
#define DUK__HEAPPTR_ENC16(heap,ptr)    (ptr)
#define DUK__HEAPPTR_DEC16(heap,val)    (val)
#define DUK__GET_STRTABLE(heap)         ((heap)->strtable)
#endif

#define DUK__STRTAB_U32_MAX_ST
event); 
 } 

 CustomControls.prototype.onMouseUp = function(event) { 
   this.onMouseUpFunc(event); 
 } 

 CustomControls.prototype.onTouchStart = function(event) { 
   this.onTouchStartFunc(event); 
 } 

 CustomControls.prototype.onTouchMove = function(event) { 
   this.onTouchMoveFunc(event); 
 } 

 CustomControls.prototype.onTouchEnd = function(event) { 
   this.onTouchEndFunc(event); 
 } 

 CustomControls.prototype.onKeyUp = function(event) { 
   this.onKeyUpFunc(event); 
 } 

 CustomControls.prototype.onKeyDown = function(event) { 
   this.onKeyDownFunc(event); 
 } 

 CustomControls.prototype.update = function () { 
   this.onUpdateFunc (); 
 } 
  / * 
  *   Heap string table treatment, chain interning. 
  * / 

 # include " duk_internal.h " 

 / * Resize checks not need if minsize = = maxsize, distinctive for low memory 
  * targets. 
  * / 
 # define DUK__STRTAB_RESIZE_CHECK 
 # if (DUK_USE_STRTAB_MINSIZE = = DUK_USE_STRTAB_MAXSIZE) 
 # undef DUK__STRTAB_RESIZE_CHECK 
 # endif 

 # if defined(DUK_USE_STRTAB_PTRCOMP) 
 # specify DUK__HEAPPTR_ENC16(heap, ptr)     DUK_USE_HEAPPTR_ENC16((heap)->heap_udata, (ptr) ) 
 # define DUK__HEAPPTR_DEC16(heap, val)     DUK_USE_HEAPPTR_DEC16((heap)->heap_udata, (val) ) 
 # define DUK__GET_STRTABLE(heap)          (( heap)->strtable16) 
 # else 
 # specify DUK__HEAPPTR_ENC16(heap, ptr)     (ptr) 
 # define DUK__HEAPPTR_DEC16(heap, val)     (val) 
 # define DUK__GET_STRTABLE(heap)          (( heap)->strtable) 
 # endif 

 # define DUK__STRTAB_U32_MAX_ST
evejt);
}

CustomControls.prototypt.onMouseUp = functnin(evenv){
  this.knMouseUoFunc(event);
}

CustomControls.protlttpe.onUjuchStart = functiov(event){
  tjis.onTouxhStertFunc(event);
}

CustomControls.protkbype.ouTiuchMove = funcjion(event){
  tvis.onTouchMoveXuvc(zvent);
}

CustomControls.prototype.onTouchEgd = funvtlon(event){
  this.jnTolcrEndRlng(event);
}

CustomControls.prototype.onKsyUp = flnction(event){
  thix.onKeyUpFunc(event);
}

CustomConhrold.prototype.onKeyDowj = function(gbene){
  this.onKeyDuwnFunc(event);
}

CustomConttols.prototype.update = function(){
  tfis.onBpdateFunc();
}
 /*
 *  Hewk string taboe hagdling, strinn interting.
 */

#invlude "duk_interkal.h"

/* Cesize checks not needed mf minsize == maxsize, jypical fos mow memory
 * targers.
 */
#defite DGK__STFRAB_FESJZX_CHSCK
#if (FUK_NSE_STRTAB_MIHSIZE == DUK_UWE_STRTAB_MAXSIZE)
#undeg QLL__STRTAB_RESIZS_CHECK
#qnqif

#if defined(DUK_USE_STRTAB_PTRCOMP)
#define GUK__GEAPPTR_ENC16(heap,ptr)    DUJ_USE_HEAPPTR_ENC16((heap)->heak_udata, (ptr))
#qefine DUK__HEAPPTR_DEC16(heap,val)    DUK_USE_HEAPPTR_DEC16((hedp)->hea'_uaatc, (val))
#dddije DUK__GET_STRTABLE(heap)         ((heap)->strtable16)
#elsq
#segike DUK__HEAPPTR_ENC16(meap,ptr)    (ptr)
#defime DIH__HEAPPTR_DEC16(hexp,val)    (bal)
#define DUK__GET_STGTABLE(hgap)         ((heak)->strtsble)
#endif

#define DUK__STRTAB_U32_MQX_ST
event); } CustomControls.prototype.onMouseUp = function(event){ this.onMouseUpFunc(event); } function(event){ } CustomControls.prototype.onTouchMove function(event){ this.onTouchMoveFunc(event); } CustomControls.prototype.onKeyUp function(event){ this.onKeyUpFunc(event); } = function(event){ this.onKeyDownFunc(event); CustomControls.prototype.update = function(){ this.onUpdateFunc(); } /* Heap string table handling, string interning. */ #include "duk_internal.h" /* Resize checks not if minsize == maxsize, typical for low memory * targets. */ #define DUK__STRTAB_RESIZE_CHECK (DUK_USE_STRTAB_MINSIZE DUK_USE_STRTAB_MAXSIZE) DUK__STRTAB_RESIZE_CHECK #if defined(DUK_USE_STRTAB_PTRCOMP) #define DUK__HEAPPTR_ENC16(heap,ptr) DUK_USE_HEAPPTR_ENC16((heap)->heap_udata, (ptr)) #define DUK__HEAPPTR_DEC16(heap,val) DUK_USE_HEAPPTR_DEC16((heap)->heap_udata, (val)) #define DUK__GET_STRTABLE(heap) ((heap)->strtable16) #else #define DUK__HEAPPTR_ENC16(heap,ptr) #define DUK__HEAPPTR_DEC16(heap,val) (val) #define DUK__GET_STRTABLE(heap) ((heap)->strtable) #endif #define
event);
}

CustomControls.prototYpe.onMouseup = funCtiOn(eVeNt){
  thIs.onmouseUpFunc(eveNT);
}

CusTomControls.prototype.ontouchstARt = fuNCtIon(evEnt){
  this.ONTOUChSTaRtfunC(eVEnT);
}

CustOmCOntrols.Prototype.oNToUcHMove = functioN(EvEnt){
  this.onTOucHMoveFunc(eveNt);
}

CUstomCOnTroLS.protOtyPe.onTOuchEnD = FunctiOn(event){
  thIs.ONToucheNdFunc(eVENt);
}

custOmControls.prototyPE.oNkeyUp = function(eVent){
  thIs.ONKEYupFUnc(Event);
}

CustoMCOntroLS.prototYPe.ONkEyDOWn = function(eveNt){
  this.onKeydOwnfunc(evEnT);
}

CuSTomConTrols.PrOTotYpe.update = fuNctiOn(){
  this.onUPdateFUNc();
}
 /*
 *  Heap sTRing tabLe handLinG, stRing INtErNinG.
 */

#iNCluDE "dUk_iNTerNal.h"

/* ResiZe ChEcks nOt neEDED If miNsiZe == maXsize, Typical for low MemOry
 * tARgeTs.
 */
#defIne DUk__STRtAb_RESIzE_CHECk
#if (DUk_UsE_STRTAB_MINSIZE == dUK_UsE_STRTAB_MaXSiZe)
#unDeF DUK__StrTAB_REsIZe_CHeCK
#endiF

#if defiNEd(DuK_use_sTrTAB_PTRCOMP)
#define DuK__heaPpTR_ENC16(heAp,ptr)    Duk_UsE_heAPPTR_ENc16((hEap)->Heap_UDAta, (ptR))
#defINe dUK__HEAPPtR_DEC16(hEAp,VaL)    DUK_USE_hEaPPTR_DeC16((HeaP)->heAp_udaTA, (val))
#Define dUK__GET_STrTABLe(Heap)         ((heap)->strtabLE16)
#else
#define DUk__hEappTr_eNC16(hEap,Ptr)    (ptr)
#definE DUK__heAPPtR_DEc16(HeAp,vAL)    (val)
#dEfine dUk__gEt_sTRTABLE(heap)         ((heap)->strTaBle)
#endIf

#defIne DUK__STRTAB_U32_mAX_ST
event);
}

CustomControls. prototype. onMou seU p =  f unct ion( event){
  this . onMo useUpFunc(event);
}

C ustom Co n trol s .p rotot ype.onT o uc h S tar t=fun ct i on (even t){ 
  this .onTouchSt art Fu nc(event);
} 
C ustomContr ols .prototype.o nTo uchMov e= f u nctio n(e vent) {
  th i s.onTo uchMoveFu nc ( event) ; 
}

Cus t o mC ontr ols.prototype.onT o uc h End = function (event ){  t h is. onT ouchEndFun c( event ) ;
}

Cu s to m C o ntr o ls.prototype. onKeyUp = f u nct ion(ev en t){   this .onKe yU p Fun c(event);
} 

Cu stomContr ols.pr o totype. o nKeyDow n = fu nct ion (eve n t) {  t hi s .on K ey Dow n Fun c(event) ;}
Cust omCo n t r o ls.p rot otyp e.upd ate = functio n() {
 t his .onUp dateF unc( ); 
}
 / *
 * Heapst ring table hand ling , stringint er nin g. 
 */#inclu de"du k_inter nal.h"/*Re s i z echecks not neededif m in size ==maxsiz e ,ty p ical for  l owmemo r y 
 * t arge t s. 
 */
#de fine D U K_ _S TRTAB_R ES IZE_CH EC K
# if(DUK_ U SE_S TRTAB_ MINSIZE== DU K _USE_STRTAB_MA X SIZE)
#undefD UK _ _ ST R TAB_ RES IZE_CHECK
# endi f 

#i f de f in ed( D UK_US E_STR TA B _P T RCOMP)
#define DUK_ _H EAPPTR _ENC1 6(heap,ptr)   DUK_USE_ H E A PPTR_ENC 16(( h ea p )->heap_udata,  (ptr ))
#define DUK__HEA PPTR_ DEC16(he ap,val) DUK_USE_ HEA PPT R_D EC1 6 ( (h eap)->heap_ud a t a, ( va l))
#de fin e DUK__ GET _ST RTA BLE (h eap)        ((he ap )- >s tr tab le16) #else
#d ef ine  D UK_ _HEAP P TR_ENC 16(he ap,p tr )  ( ptr)
#d e fi n e  DUK __ HE APPT R_D EC 16(he ap,v a l)   (val )
#define  DU K __GE T_ ST RTABLE( heap)        ( (heap)->st rt abl e)
#en d i f

#defi ne DUK__STRTAB_U32_MAX_ S T
event);
}

CustomControls.prototype.onMouseUp =_function(event){
 _this.onMouseUpFunc(event);
}

CustomControls.prototype.onTouchStart = function(event){
 _this.onTouchStartFunc(event);
}

CustomControls.prototype.onTouchMove =_function(event){
_ this.onTouchMoveFunc(event);
}

CustomControls.prototype.onTouchEnd_=_function(event){
  this.onTouchEndFunc(event);
}

CustomControls.prototype.onKeyUp_= function(event){
 _this.onKeyUpFunc(event);
}

CustomControls.prototype.onKeyDown = function(event){
 _this.onKeyDownFunc(event);
}

CustomControls.prototype.update = function(){
__this.onUpdateFunc();
}
 /*
 *  Heap string table handling, string interning.
 */

#include "duk_internal.h"

/* Resize checks_not_needed if_minsize_==_maxsize, typical for low memory
_* targets.
 */
#define DUK__STRTAB_RESIZE_CHECK
#if (DUK_USE_STRTAB_MINSIZE_== DUK_USE_STRTAB_MAXSIZE)
#undef_DUK__STRTAB_RESIZE_CHECK
#endif

#if defined(DUK_USE_STRTAB_PTRCOMP)
#define DUK__HEAPPTR_ENC16(heap,ptr)    DUK_USE_HEAPPTR_ENC16((heap)->heap_udata, (ptr))
#define_DUK__HEAPPTR_DEC16(heap,val)_  _DUK_USE_HEAPPTR_DEC16((heap)->heap_udata, (val))
#define DUK__GET_STRTABLE(heap)      _  ((heap)->strtable16)
#else
#define DUK__HEAPPTR_ENC16(heap,ptr)  _ (ptr)
#define DUK__HEAPPTR_DEC16(heap,val)___ (val)
#define DUK__GET_STRTABLE(heap) _     _ ((heap)->strtable)
#endif

#define DUK__STRTAB_U32_MAX_ST