File "firma.js"

Full Path: C:/wamp64/www/APPSST/js/firma.js
File size: 3.58 KB
MIME-type: text/plain
Charset: utf-8

var ctx, color = "#111";

	document.addEventListener("DOMContentLoaded", function() {
		// setup a new canvas for drawing wait for device init
		setTimeout(function() {
			newCanvas();
		}, 1000);
	}, false);

	// function to setup a new canvas for drawing
	function newCanvas() {
		//define and resize canvas

		var canvas = '<canvas id="canvas" width="800px" height="800px" class="content" </canvas>';
		document.getElementById("content").innerHTML = canvas;

		// setup canvas
		ctx = document.getElementById("canvas").getContext("2d");
		ctx.strokeStyle = color;
		ctx.lineWidth = 2;

		// setup to trigger drawing on mouse or touch
		drawTouch();
		//   drawPointer();
		drawMouse();


	}

	function selectColor(el) {


		ctx.beginPath();
		ctx.strokeStyle = "#fff";
	}

	// prototype to	start drawing on touch using canvas moveTo and lineTo
	var drawTouch = function() {
		var start = function(e) {
			ctx.beginPath();
			var divcanvas = document.getElementById("canvas");
			x = e.changedTouches[0].pageX - getDimensions(divcanvas).x;
			y = e.changedTouches[0].pageY - getDimensions(divcanvas).y;
			ctx.moveTo(x, y);
		};
		var move = function(e) {
			e.preventDefault();
			var divcanvas = document.getElementById("canvas");
			x = e.changedTouches[0].pageX - getDimensions(divcanvas).x;
			y = e.changedTouches[0].pageY - getDimensions(divcanvas).y;
			ctx.lineTo(x, y);
			ctx.stroke();
		};
		document.getElementById("canvas").addEventListener("touchstart", start, false);
		document.getElementById("canvas").addEventListener("touchmove", move, false);
	};

	// prototype to	start drawing on pointer(microsoft ie) using canvas moveTo and lineTo
	var drawPointer = function() {
		var start = function(e) {
			e = e.originalEvent;
			ctx.beginPath();
			x = e.pageX;
			y = e.pageY;
			ctx.moveTo(x, y);
		};
		var move = function(e) {
			e.preventDefault();
			e = e.originalEvent;
			x = e.pageX;
			y = e.pageY;
			ctx.lineTo(x, y);
			ctx.stroke();
		};
		document.getElementById("canvas").addEventListener("MSPointerDown", start, false);
		document.getElementById("canvas").addEventListener("MSPointerMove", move, false);
	};


	// prototype to	start drawing on mouse using canvas moveTo and lineTo
	var drawMouse = function() {
		var clicked = 0;
		var start = function(e) {
			clicked = 1;
			ctx.beginPath();


			var divcanvas = document.getElementById("canvas");

			x = e.pageX - getDimensions(divcanvas).x;
			y = e.pageY - getDimensions(divcanvas).y;
			ctx.moveTo(x, y);

		};
		var move = function(e) {
			if (clicked) {

				var divcanvas = document.getElementById("content");

				x = e.pageX - getDimensions(divcanvas).x;
				y = e.pageY - getDimensions(divcanvas).y;
				ctx.lineTo(x, y);
				ctx.stroke();

			}
		};
		var stop = function(e) {
			clicked = 0;
		};
		document.getElementById("canvas").addEventListener("mousedown", start, false);
		document.getElementById("canvas").addEventListener("mousemove", move, false);
		document.addEventListener("mouseup", stop, false);
	};

	getDimensions = function(oElement) {
		var x, y, w, h;
		x = y = w = h = 0;
		if (document.getBoxObjectFor) { // Mozilla
			var oBox = document.getBoxObjectFor(oElement);
			x = oBox.x - 1;
			w = oBox.width;
			y = oBox.y - 1;
			h = oBox.height;
		} else if (oElement.getBoundingClientRect) { // IE
			var oRect = oElement.getBoundingClientRect();
			x = oRect.left - 2;
			w = oElement.clientWidth;
			y = oRect.top - 2;
			h = oElement.clientHeight;
		}
		return {
			x: x,
			y: y,
			w: w,
			h: h
		};
	}