lkarch.org/tools/hexgl/bkcore.coffee/controllers/OrientationController.js
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

131 lines
3.3 KiB
JavaScript

// Generated by CoffeeScript 1.4.0
/*
OrientationController (Orientation + buttons) for touch devices
@class bkcore.OrientationController
@author Thibaut 'BKcore' Despoulain <http://bkcore.com>
*/
(function() {
var OrientationController, exports, _base;
OrientationController = (function() {
OrientationController.isCompatible = function() {
return 'DeviceOrientationEvent' in window;
};
/*
Creates a new OrientationController
@param dom DOMElement The element that will listen to touch events
@param registerTouch bool Enable touch detection
@param touchCallback function Callback for touches
*/
function OrientationController(dom, registerTouch, touchCallback) {
var _this = this;
this.dom = dom;
this.registerTouch = registerTouch != null ? registerTouch : true;
this.touchCallback = touchCallback != null ? touchCallback : null;
this.active = true;
this.alpha = 0.0;
this.beta = 0.0;
this.gamma = 0.0;
this.dalpha = null;
this.dbeta = null;
this.dgamma = null;
this.touches = null;
window.addEventListener('deviceorientation', (function(e) {
return _this.orientationChange(e);
}), false);
if (this.registerTouch) {
this.dom.addEventListener('touchstart', (function(e) {
return _this.touchStart(e);
}), false);
this.dom.addEventListener('touchend', (function(e) {
return _this.touchEnd(e);
}), false);
}
}
/*
@private
*/
OrientationController.prototype.orientationChange = function(event) {
if (!this.active) {
return;
}
if (this.dalpha === null) {
console.log("calbrate", event.beta);
this.dalpha = event.alpha;
this.dbeta = event.beta;
this.dgamma = event.gamma;
}
this.alpha = event.alpha - this.dalpha;
this.beta = event.beta - this.dbeta;
this.gamma = event.gamma - this.dgamma;
return false;
};
/*
@private
*/
OrientationController.prototype.touchStart = function(event) {
var touch, _i, _len, _ref;
if (!this.active) {
return;
}
_ref = event.changedTouches;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
touch = _ref[_i];
if (typeof this.touchCallback === "function") {
this.touchCallback(true, touch, event);
}
}
this.touches = event.touches;
return false;
};
/*
@private
*/
OrientationController.prototype.touchEnd = function(event) {
var touch, _i, _len, _ref;
if (!this.active) {
return;
}
_ref = event.changedTouches;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
touch = _ref[_i];
if (typeof this.touchCallback === "function") {
this.touchCallback(true, touch, event);
}
}
this.touches = event.touches;
return false;
};
return OrientationController;
})();
exports = exports != null ? exports : this;
exports.bkcore || (exports.bkcore = {});
(_base = exports.bkcore).controllers || (_base.controllers = {});
exports.bkcore.controllers.OrientationController = OrientationController;
}).call(this);