export var CLOCK_WIDTH = 220; export var CLOCK_HOUR_WIDTH = 36; var clockCenter = { x: CLOCK_WIDTH / 2, y: CLOCK_WIDTH / 2 }; var baseClockPoint = { x: clockCenter.x, y: 0 }; var cx = baseClockPoint.x - clockCenter.x; var cy = baseClockPoint.y - clockCenter.y; var rad2deg = function rad2deg(rad) { return rad * (180 / Math.PI); }; var getAngleValue = function getAngleValue(step, offsetX, offsetY) { var x = offsetX - clockCenter.x; var y = offsetY - clockCenter.y; var atan = Math.atan2(cx, cy) - Math.atan2(x, y); var deg = rad2deg(atan); deg = Math.round(deg / step) * step; deg %= 360; var value = Math.floor(deg / step) || 0; var delta = Math.pow(x, 2) + Math.pow(y, 2); var distance = Math.sqrt(delta); return { value: value, distance: distance }; }; export var getMinutes = function getMinutes(offsetX, offsetY) { var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var angleStep = step * 6; var _getAngleValue = getAngleValue(angleStep, offsetX, offsetY), value = _getAngleValue.value; value = value * step % 60; return value; }; export var getHours = function getHours(offsetX, offsetY, ampm) { var _getAngleValue2 = getAngleValue(30, offsetX, offsetY), value = _getAngleValue2.value, distance = _getAngleValue2.distance; var hour = value || 12; if (!ampm) { if (distance < CLOCK_WIDTH / 2 - CLOCK_HOUR_WIDTH) { hour += 12; hour %= 24; } } else { hour %= 12; } return hour; };