/*

Copyright 2008-2015 Clipperz Srl

This file is part of Clipperz, the online password manager.
For further information about its features and functionalities please
refer to http://www.clipperz.com.

* Clipperz is free software: you can redistribute it and/or modify it
  under the terms of the GNU Affero General Public License as published
  by the Free Software Foundation, either version 3 of the License, or 
  (at your option) any later version.

* Clipperz is distributed in the hope that it will be useful, but 
  WITHOUT ANY WARRANTY; without even the implied warranty of 
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU Affero General Public License for more details.

* You should have received a copy of the GNU Affero General Public
  License along with Clipperz. If not, see http://www.gnu.org/licenses/.

*/

//
//	look.js
//	Look
//
//	Created by Giulio Cesare Solaroli on 3/15/10
//	Copyright 2010 Clipperz
//	This code was generated by Opacity. You may use or modify it in any way.
//

var kClipperz_PM_UI_Canvas_CoverActions_lookWidth = 46.0;
var kClipperz_PM_UI_Canvas_CoverActions_lookHeight = 46.0;

function Clipperz_PM_UI_Canvas_CoverActions_look(canvas, aColor, aFillColor, aThickness)
{
	var context = canvas.getContext("2d");
	var alignStroke;
	var resolution;
	var stroke;
	var path;
	var pointX;
	var pointY;
	if (window.devicePixelRatio)
		resolution = window.devicePixelRatio;
	else
		resolution = 1.0;
	resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_CoverActions_lookWidth + canvas.height / kClipperz_PM_UI_Canvas_CoverActions_lookHeight);
	
	context.save();
	context.scale(canvas.width / kClipperz_PM_UI_Canvas_CoverActions_lookWidth, canvas.height / kClipperz_PM_UI_Canvas_CoverActions_lookHeight);
	context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_CoverActions_lookWidth, kClipperz_PM_UI_Canvas_CoverActions_lookHeight);
	
	// Layer 6
	
	stroke = aThickness;
	stroke *= resolution;
	if (stroke < 1.0)
		stroke = Math.ceil(stroke);
	else
		stroke = Math.round(stroke);
	stroke /= resolution;
	alignStroke = (0.5 * stroke * resolution) % 1.0;
	context.save();
	context.translate(17.5, 23.0);
	context.rotate(-0.503);
	context.translate(-17.5, -23.0);
	context.beginPath();
	pointX = 28.5;
	pointY = 31.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.moveTo(pointX, pointY);
	pointX = 28.5;
	pointY = 14.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 6.5;
	pointY = 14.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 6.5;
	pointY = 31.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 28.5;
	pointY = 31.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	context.closePath();
	context.fillStyle = aFillColor;
	context.fill();
	context.strokeStyle = aColor;
	context.lineWidth = stroke;
	context.lineCap = "square";
	context.stroke();
	context.restore();
	
	// Layer 3
	
	stroke = aThickness;
	stroke *= resolution;
	if (stroke < 1.0)
		stroke = Math.ceil(stroke);
	else
		stroke = Math.round(stroke);
	stroke /= resolution;
	alignStroke = (0.5 * stroke * resolution) % 1.0;
	context.save();
	context.translate(22.5, 20.0);
	context.rotate(-0.071);
	context.translate(-22.5, -20.0);
	context.beginPath();
	pointX = 33.5;
	pointY = 28.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.moveTo(pointX, pointY);
	pointX = 33.5;
	pointY = 11.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 11.5;
	pointY = 11.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 11.5;
	pointY = 28.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 33.5;
	pointY = 28.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	context.closePath();
	context.fillStyle = aFillColor;
	context.fill();
	context.strokeStyle = aColor;
	context.lineWidth = stroke;
	context.lineCap = "square";
	context.stroke();
	context.restore();
	
	// Layer 4
	
	stroke = aThickness;
	stroke *= resolution;
	if (stroke < 1.0)
		stroke = Math.ceil(stroke);
	else
		stroke = Math.round(stroke);
	stroke /= resolution;
	alignStroke = (0.5 * stroke * resolution) % 1.0;
	context.save();
	context.translate(27.5, 18.0);
	context.rotate(0.232);
	context.translate(-27.5, -18.0);
	context.beginPath();
	pointX = 38.5;
	pointY = 26.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.moveTo(pointX, pointY);
	pointX = 38.5;
	pointY = 9.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 16.5;
	pointY = 9.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 16.5;
	pointY = 26.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	pointX = 38.5;
	pointY = 26.5;
	pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
	pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
	context.lineTo(pointX, pointY);
	context.closePath();
	context.fillStyle = aFillColor;
	context.fill();
	context.strokeStyle = aColor;
	context.lineWidth = stroke;
	context.lineCap = "square";
	context.stroke();
	context.restore();
	
	context.restore();
}
