Lucas Kent e39465ad2f Changes to be committed:
new file:   Files/flashplayer_32_sa.exe
	new file:   favicon.ico
	new file:   globe.gif
	new file:   imgs/download.png
	new file:   imgs/zuck.jpg
	new file:   index.html
	new file:   other.ico
	new file:   script.js
	new file:   site.webmanifest
	new file:   sitemap.html
	new file:   styles/backround.css
	new file:   styles/border.css
	new file:   styles/fonts/Titillium_Web/OFL.txt
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf
	new file:   styles/fonts/webfontkit-20221027-163353/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2
	new file:   styles/fonts/webfontkit-20221027-165950/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2
	new file:   styles/style.css
	new file:   tools/2048/.gitignore
	new file:   tools/2048/.jshintrc
	new file:   tools/2048/CONTRIBUTING.md
	new file:   tools/2048/LICENSE.txt
	new file:   tools/2048/README.md
	new file:   tools/2048/Rakefile
	new file:   tools/2048/favicon.ico
	new file:   tools/2048/index.html
	new file:   tools/2048/js/animframe_polyfill.js
	new file:   tools/2048/js/application.js
	new file:   tools/2048/js/bind_polyfill.js
	new file:   tools/2048/js/classlist_polyfill.js
	new file:   tools/2048/js/game_manager.js
	new file:   tools/2048/js/grid.js
	new file:   tools/2048/js/html_actuator.js
	new file:   tools/2048/js/keyboard_input_manager.js
	new file:   tools/2048/js/local_storage_manager.js
	new file:   tools/2048/js/tile.js
    new file:   tools/2048/meta/apple-touch-icon.png
	new file:   tools/webretro/cores/neocd_libretro.js
	new file:   tools/webretro/cores/neocd_libretro.wasm
	new file:   tools/webretro/cores/nestopia_libretro.js
	new file:   tools/webretro/cores/nestopia_libretro.wasm
	new file:   tools/webretro/cores/o2em_libretro.js
	new file:   tools/webretro/cores/o2em_libretro.wasm
	new file:   tools/webretro/cores/opera_libretro.js
	new file:   tools/webretro/cores/opera_libretro.wasm
2022-11-02 08:40:01 -04:00

6 lines
2.8 KiB
JavaScript

(function(){function addListener(el,type,listener,useCapture){if(el.addEventListener){el.addEventListener(type,listener,useCapture);return{destroy:function(){el.removeEventListener(type,listener,useCapture);}};}else{var handler=function(e){listener.handleEvent(window.event,listener);};el.attachEvent('on'+type,handler);return{destroy:function(){el.detachEvent('on'+type,handler);}};}}
var isTouch="ontouchstart"in window;this.FastButton=function(element,handler,useCapture){this.events=[];this.touchEvents=[];this.element=element;this.handler=handler;this.useCapture=useCapture;if(isTouch)
this.events.push(addListener(element,'touchstart',this,this.useCapture));this.events.push(addListener(element,'click',this,this.useCapture));};this.FastButton.prototype.destroy=function(){for(i=this.events.length-1;i>=0;i-=1)
this.events[i].destroy();this.events=this.touchEvents=this.element=this.handler=this.fastButton=null;};this.FastButton.prototype.handleEvent=function(event){switch(event.type){case 'touchstart':this.onTouchStart(event);break;case 'touchmove':this.onTouchMove(event);break;case 'touchend':this.onClick(event);break;case 'click':this.onClick(event);break;}};this.FastButton.prototype.onTouchStart=function(event){event.stopPropagation?event.stopPropagation():(event.cancelBubble=true);this.touchEvents.push(addListener(this.element,'touchend',this,this.useCapture));this.touchEvents.push(addListener(document.body,'touchmove',this,this.useCapture));this.startX=event.touches[0].clientX;this.startY=event.touches[0].clientY;};this.FastButton.prototype.onTouchMove=function(event){if(Math.abs(event.touches[0].clientX-this.startX)>10||Math.abs(event.touches[0].clientY-this.startY)>10){this.reset();}};this.FastButton.prototype.onClick=function(event){event.stopPropagation?event.stopPropagation():(event.cancelBubble=true);this.reset();var result=this.handler.call(this.element,event);if(event.type=='touchend')
clickbuster.preventGhostClick(this.startX,this.startY);return result;};this.FastButton.prototype.reset=function(){for(i=this.touchEvents.length-1;i>=0;i-=1)
this.touchEvents[i].destroy();this.touchEvents=[];};this.clickbuster=function(){};this.clickbuster.preventGhostClick=function(x,y){clickbuster.coordinates.push(x,y);window.setTimeout(clickbuster.pop,2500);};this.clickbuster.pop=function(){clickbuster.coordinates.splice(0,2);};this.clickbuster.onClick=function(event){for(var i=0;i<clickbuster.coordinates.length;i+=2){var x=clickbuster.coordinates[i];var y=clickbuster.coordinates[i+1];if(Math.abs(event.clientX-x)<25&&Math.abs(event.clientY-y)<25){event.stopPropagation?event.stopPropagation():(event.cancelBubble=true);event.preventDefault?event.preventDefault():(event.returnValue=false);}}};if(isTouch){document.addEventListener('click',clickbuster.onClick,true);clickbuster.coordinates=[];}})(this);