mirror of https://github.com/espruino/BangleApps
Use let instead of var
parent
4a08dcbaea
commit
a818496f45
|
@ -1,16 +1,16 @@
|
||||||
var watchface = require("Storage").readJSON("imageclock.face.json");
|
let watchface = require("Storage").readJSON("imageclock.face.json");
|
||||||
var watchfaceResources = require("Storage").readJSON("imageclock.resources.json");
|
let watchfaceResources = require("Storage").readJSON("imageclock.resources.json");
|
||||||
var precompiledJs = eval(require("Storage").read("imageclock.draw.js"));
|
let precompiledJs = eval(require("Storage").read("imageclock.draw.js"));
|
||||||
var settings = require('Storage').readJSON("imageclock.json", true) || {};
|
let settings = require('Storage').readJSON("imageclock.json", true) || {};
|
||||||
|
|
||||||
var performanceLog = {};
|
let performanceLog = {};
|
||||||
|
|
||||||
var startPerfLog = () => {};
|
let startPerfLog = () => {};
|
||||||
var endPerfLog = () => {};
|
let endPerfLog = () => {};
|
||||||
var printPerfLog = () => print("Deactivated");
|
let printPerfLog = () => print("Deactivated");
|
||||||
var resetPerfLog = () => {performanceLog = {};};
|
let resetPerfLog = () => {performanceLog = {};};
|
||||||
|
|
||||||
var colormap={
|
let colormap={
|
||||||
"#000":0,
|
"#000":0,
|
||||||
"#00f":1,
|
"#00f":1,
|
||||||
"#0f0":2,
|
"#0f0":2,
|
||||||
|
@ -21,7 +21,7 @@ var colormap={
|
||||||
"#fff":7
|
"#fff":7
|
||||||
};
|
};
|
||||||
|
|
||||||
var palette = new Uint16Array([
|
let palette = new Uint16Array([
|
||||||
0x0000, //black #000
|
0x0000, //black #000
|
||||||
0x001f, //blue #00f
|
0x001f, //blue #00f
|
||||||
0x07e0, //green #0f0
|
0x07e0, //green #0f0
|
||||||
|
@ -40,19 +40,19 @@ var palette = new Uint16Array([
|
||||||
0xffff, //white
|
0xffff, //white
|
||||||
])
|
])
|
||||||
|
|
||||||
var p0 = g;
|
let p0 = g;
|
||||||
var p1;
|
let p1;
|
||||||
|
|
||||||
if (settings.perflog){
|
if (settings.perflog){
|
||||||
startPerfLog = function(name){
|
startPerfLog = function(name){
|
||||||
var time = getTime();
|
let time = getTime();
|
||||||
if (!performanceLog.start) performanceLog.start={};
|
if (!performanceLog.start) performanceLog.start={};
|
||||||
performanceLog.start[name] = time;
|
performanceLog.start[name] = time;
|
||||||
};
|
};
|
||||||
endPerfLog = function (name){
|
endPerfLog = function (name){
|
||||||
var time = getTime();
|
let time = getTime();
|
||||||
if (!performanceLog.last) performanceLog.last={};
|
if (!performanceLog.last) performanceLog.last={};
|
||||||
var duration = time - performanceLog.start[name];
|
let duration = time - performanceLog.start[name];
|
||||||
performanceLog.last[name] = duration;
|
performanceLog.last[name] = duration;
|
||||||
if (!performanceLog.cum) performanceLog.cum={};
|
if (!performanceLog.cum) performanceLog.cum={};
|
||||||
if (!performanceLog.cum[name]) performanceLog.cum[name] = 0;
|
if (!performanceLog.cum[name]) performanceLog.cum[name] = 0;
|
||||||
|
@ -63,13 +63,13 @@ if (settings.perflog){
|
||||||
};
|
};
|
||||||
|
|
||||||
printPerfLog = function(){
|
printPerfLog = function(){
|
||||||
var result = "";
|
let result = "";
|
||||||
var keys = [];
|
let keys = [];
|
||||||
for (var c in performanceLog.cum){
|
for (let c in performanceLog.cum){
|
||||||
keys.push(c);
|
keys.push(c);
|
||||||
}
|
}
|
||||||
keys.sort();
|
keys.sort();
|
||||||
for (var k of keys){
|
for (let k of keys){
|
||||||
print(k, "last:", (performanceLog.last[k] * 1000).toFixed(0), "average:", (performanceLog.cum[k]/performanceLog.count[k]*1000).toFixed(0), "count:", performanceLog.count[k], "total:", (performanceLog.cum[k] * 1000).toFixed(0));
|
print(k, "last:", (performanceLog.last[k] * 1000).toFixed(0), "average:", (performanceLog.cum[k]/performanceLog.count[k]*1000).toFixed(0), "count:", performanceLog.count[k], "total:", (performanceLog.cum[k] * 1000).toFixed(0));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -101,9 +101,9 @@ function prepareImg(resource){
|
||||||
function getByPath(object, path, lastElem){
|
function getByPath(object, path, lastElem){
|
||||||
startPerfLog("getByPath");
|
startPerfLog("getByPath");
|
||||||
//print("getByPath", path,lastElem);
|
//print("getByPath", path,lastElem);
|
||||||
var current = object;
|
let current = object;
|
||||||
if (path.length) {
|
if (path.length) {
|
||||||
for (var c of path){
|
for (let c of path){
|
||||||
if (!current[c]) return undefined;
|
if (!current[c]) return undefined;
|
||||||
current = current[c];
|
current = current[c];
|
||||||
}
|
}
|
||||||
|
@ -135,20 +135,20 @@ function isChangedMultistate(element){
|
||||||
|
|
||||||
function drawNumber(graphics, resources, element){
|
function drawNumber(graphics, resources, element){
|
||||||
startPerfLog("drawNumber");
|
startPerfLog("drawNumber");
|
||||||
var number = getValue(element.Value);
|
let number = getValue(element.Value);
|
||||||
var spacing = element.Spacing ? element.Spacing : 0;
|
let spacing = element.Spacing ? element.Spacing : 0;
|
||||||
var unit = element.Unit;
|
let unit = element.Unit;
|
||||||
|
|
||||||
var imageIndexMinus = element.ImageIndexMinus;
|
let imageIndexMinus = element.ImageIndexMinus;
|
||||||
var imageIndexUnit = element.ImageIndexUnit;
|
let imageIndexUnit = element.ImageIndexUnit;
|
||||||
var numberOfDigits = element.Digits;
|
let numberOfDigits = element.Digits;
|
||||||
|
|
||||||
|
|
||||||
//print("drawNumber: ", number, element);
|
//print("drawNumber: ", number, element);
|
||||||
if (number) number = number.toFixed(0);
|
if (number) number = number.toFixed(0);
|
||||||
|
|
||||||
var isNegative;
|
let isNegative;
|
||||||
var digits;
|
let digits;
|
||||||
if (number == undefined){
|
if (number == undefined){
|
||||||
isNegative = true;
|
isNegative = true;
|
||||||
digits = [];
|
digits = [];
|
||||||
|
@ -161,25 +161,25 @@ function drawNumber(graphics, resources, element){
|
||||||
|
|
||||||
//print("digits: ", digits);
|
//print("digits: ", digits);
|
||||||
if (!numberOfDigits) numberOfDigits = digits.length;
|
if (!numberOfDigits) numberOfDigits = digits.length;
|
||||||
var firstDigitX = element.X;
|
let firstDigitX = element.X;
|
||||||
var firstDigitY = element.Y;
|
let firstDigitY = element.Y;
|
||||||
var imageIndex = element.ImageIndex ? element.ImageIndex : 0;
|
let imageIndex = element.ImageIndex ? element.ImageIndex : 0;
|
||||||
|
|
||||||
var firstImage;
|
let firstImage;
|
||||||
if (imageIndex){
|
if (imageIndex){
|
||||||
firstImage = getByPath(resources, [], "" + (0 + imageIndex));
|
firstImage = getByPath(resources, [], "" + (0 + imageIndex));
|
||||||
} else {
|
} else {
|
||||||
firstImage = getByPath(resources, element.ImagePath, 0);
|
firstImage = getByPath(resources, element.ImagePath, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
var minusImage;
|
let minusImage;
|
||||||
if (imageIndexMinus){
|
if (imageIndexMinus){
|
||||||
minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus));
|
minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus));
|
||||||
} else {
|
} else {
|
||||||
minusImage = getByPath(resources, element.ImagePath, "minus");
|
minusImage = getByPath(resources, element.ImagePath, "minus");
|
||||||
}
|
}
|
||||||
|
|
||||||
var unitImage;
|
let unitImage;
|
||||||
//print("Get image for unit", imageIndexUnit);
|
//print("Get image for unit", imageIndexUnit);
|
||||||
if (imageIndexUnit !== undefined){
|
if (imageIndexUnit !== undefined){
|
||||||
unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit));
|
unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit));
|
||||||
|
@ -188,7 +188,7 @@ function drawNumber(graphics, resources, element){
|
||||||
unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown"));
|
unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown"));
|
||||||
}
|
}
|
||||||
|
|
||||||
var numberWidth = (numberOfDigits * firstImage.width) + (Math.max((numberOfDigits - 1),0) * spacing);
|
let numberWidth = (numberOfDigits * firstImage.width) + (Math.max((numberOfDigits - 1),0) * spacing);
|
||||||
if (isNegative && minusImage){
|
if (isNegative && minusImage){
|
||||||
//print("Adding to width", minusImage);
|
//print("Adding to width", minusImage);
|
||||||
numberWidth += minusImage.width + spacing;
|
numberWidth += minusImage.width + spacing;
|
||||||
|
@ -213,7 +213,7 @@ function drawNumber(graphics, resources, element){
|
||||||
firstDigitY = element.Y - firstImage.height + 1;
|
firstDigitY = element.Y - firstImage.height + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentX = firstDigitX;
|
let currentX = firstDigitX;
|
||||||
if (isNegative && minusImage){
|
if (isNegative && minusImage){
|
||||||
//print("Draw minus at", currentX);
|
//print("Draw minus at", currentX);
|
||||||
if (imageIndexMinus){
|
if (imageIndexMinus){
|
||||||
|
@ -223,9 +223,9 @@ function drawNumber(graphics, resources, element){
|
||||||
}
|
}
|
||||||
currentX += minusImage.width + spacing;
|
currentX += minusImage.width + spacing;
|
||||||
}
|
}
|
||||||
for (var d = 0; d < numberOfDigits; d++){
|
for (let d = 0; d < numberOfDigits; d++){
|
||||||
var currentDigit;
|
let currentDigit;
|
||||||
var difference = numberOfDigits - digits.length;
|
let difference = numberOfDigits - digits.length;
|
||||||
if (d >= difference){
|
if (d >= difference){
|
||||||
currentDigit = digits[d-difference];
|
currentDigit = digits[d-difference];
|
||||||
} else {
|
} else {
|
||||||
|
@ -248,10 +248,10 @@ function drawNumber(graphics, resources, element){
|
||||||
|
|
||||||
function drawElement(graphics, resources, pos, element, lastElem){
|
function drawElement(graphics, resources, pos, element, lastElem){
|
||||||
startPerfLog("drawElement");
|
startPerfLog("drawElement");
|
||||||
var cacheKey = "_"+(lastElem?lastElem:"nole");
|
let cacheKey = "_"+(lastElem?lastElem:"nole");
|
||||||
if (!element.cachedImage) element.cachedImage={};
|
if (!element.cachedImage) element.cachedImage={};
|
||||||
if (!element.cachedImage[cacheKey]){
|
if (!element.cachedImage[cacheKey]){
|
||||||
var resource = getByPath(resources, element.ImagePath, lastElem);
|
let resource = getByPath(resources, element.ImagePath, lastElem);
|
||||||
if (resource){
|
if (resource){
|
||||||
prepareImg(resource);
|
prepareImg(resource);
|
||||||
//print("lastElem", typeof resource)
|
//print("lastElem", typeof resource)
|
||||||
|
@ -273,7 +273,7 @@ function drawElement(graphics, resources, pos, element, lastElem){
|
||||||
//print("drawElement ",pos, path, lastElem);
|
//print("drawElement ",pos, path, lastElem);
|
||||||
//print("resource ", resource,pos, path, lastElem);
|
//print("resource ", resource,pos, path, lastElem);
|
||||||
//print("drawImage from drawElement", image, pos);
|
//print("drawImage from drawElement", image, pos);
|
||||||
var options={};
|
let options={};
|
||||||
if (element.RotationValue){
|
if (element.RotationValue){
|
||||||
options.rotate = radians(element);
|
options.rotate = radians(element);
|
||||||
}
|
}
|
||||||
|
@ -312,16 +312,16 @@ function getMultistate(name, defaultValue){
|
||||||
function drawScale(graphics, resources, scale){
|
function drawScale(graphics, resources, scale){
|
||||||
startPerfLog("drawScale");
|
startPerfLog("drawScale");
|
||||||
//print("drawScale", scale);
|
//print("drawScale", scale);
|
||||||
var segments = scale.Segments;
|
let segments = scale.Segments;
|
||||||
var imageIndex = scale.ImageIndex !== undefined ? scale.ImageIndex : 0;
|
let imageIndex = scale.ImageIndex !== undefined ? scale.ImageIndex : 0;
|
||||||
|
|
||||||
var value = scaledown(scale.Value, scale.MinValue, scale.MaxValue);
|
let value = scaledown(scale.Value, scale.MinValue, scale.MaxValue);
|
||||||
|
|
||||||
//print("Value is ", value, "(", maxValue, ",", minValue, ")");
|
//print("Value is ", value, "(", maxValue, ",", minValue, ")");
|
||||||
|
|
||||||
var segmentsToDraw = Math.ceil(value * segments.length);
|
let segmentsToDraw = Math.ceil(value * segments.length);
|
||||||
|
|
||||||
for (var i = 0; i < segmentsToDraw; i++){
|
for (let i = 0; i < segmentsToDraw; i++){
|
||||||
drawElement(graphics, resources, segments[i], scale, imageIndex + i);
|
drawElement(graphics, resources, segments[i], scale, imageIndex + i);
|
||||||
}
|
}
|
||||||
scale.lastDrawnValue = segmentsToDraw;
|
scale.lastDrawnValue = segmentsToDraw;
|
||||||
|
@ -333,7 +333,7 @@ function drawImage(graphics, resources, image, name){
|
||||||
startPerfLog("drawImage");
|
startPerfLog("drawImage");
|
||||||
//print("drawImage", image.X, image.Y, name);
|
//print("drawImage", image.X, image.Y, name);
|
||||||
if (image.Value && image.Steps){
|
if (image.Value && image.Steps){
|
||||||
var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1));
|
let steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1));
|
||||||
//print("Step", steps, "of", image.Steps);
|
//print("Step", steps, "of", image.Steps);
|
||||||
drawElement(graphics, resources, image, image, "" + steps);
|
drawElement(graphics, resources, image, image, "" + steps);
|
||||||
} else if (image.ImageIndex !== undefined) {
|
} else if (image.ImageIndex !== undefined) {
|
||||||
|
@ -347,12 +347,12 @@ function drawImage(graphics, resources, image, name){
|
||||||
|
|
||||||
function drawCodedImage(graphics, resources, image){
|
function drawCodedImage(graphics, resources, image){
|
||||||
startPerfLog("drawCodedImage");
|
startPerfLog("drawCodedImage");
|
||||||
var code = getValue(image.Value);
|
let code = getValue(image.Value);
|
||||||
//print("drawCodedImage", image, code);
|
//print("drawCodedImage", image, code);
|
||||||
|
|
||||||
if (image.ImagePath) {
|
if (image.ImagePath) {
|
||||||
var factor = 1;
|
let factor = 1;
|
||||||
var currentCode = code;
|
let currentCode = code;
|
||||||
while (code / factor > 1){
|
while (code / factor > 1){
|
||||||
currentCode = Math.floor(currentCode/factor)*factor;
|
currentCode = Math.floor(currentCode/factor)*factor;
|
||||||
//print("currentCode", currentCode);
|
//print("currentCode", currentCode);
|
||||||
|
@ -375,8 +375,8 @@ function drawCodedImage(graphics, resources, image){
|
||||||
}
|
}
|
||||||
|
|
||||||
function getWeatherCode(){
|
function getWeatherCode(){
|
||||||
var jsonWeather = require("Storage").readJSON('weather.json');
|
let jsonWeather = require("Storage").readJSON('weather.json');
|
||||||
var weather = (jsonWeather && jsonWeather.weather) ? jsonWeather.weather : undefined;
|
let weather = (jsonWeather && jsonWeather.weather) ? jsonWeather.weather : undefined;
|
||||||
|
|
||||||
if (weather && weather.code){
|
if (weather && weather.code){
|
||||||
return weather.code;
|
return weather.code;
|
||||||
|
@ -385,15 +385,15 @@ function getWeatherCode(){
|
||||||
}
|
}
|
||||||
|
|
||||||
function getWeatherTemperature(){
|
function getWeatherTemperature(){
|
||||||
var jsonWeather = require("Storage").readJSON('weather.json');
|
let jsonWeather = require("Storage").readJSON('weather.json');
|
||||||
var weather = (jsonWeather && jsonWeather.weather) ? jsonWeather.weather : undefined;
|
let weather = (jsonWeather && jsonWeather.weather) ? jsonWeather.weather : undefined;
|
||||||
|
|
||||||
var result = { unit: "unknown"};
|
let result = { unit: "unknown"};
|
||||||
if (weather && weather.temp){
|
if (weather && weather.temp){
|
||||||
//print("Weather is", weather);
|
//print("Weather is", weather);
|
||||||
var temp = require('locale').temp(weather.temp-273.15);
|
let temp = require('locale').temp(weather.temp-273.15);
|
||||||
result.value = Number(temp.match(/[\d\-]*/)[0]);
|
result.value = Number(temp.match(/[\d\-]*/)[0]);
|
||||||
var unit;
|
let unit;
|
||||||
if (temp.includes("C")){
|
if (temp.includes("C")){
|
||||||
result.unit = "celsius";
|
result.unit = "celsius";
|
||||||
} else if (temp.includes("F")){
|
} else if (temp.includes("F")){
|
||||||
|
@ -405,14 +405,14 @@ function getWeatherTemperature(){
|
||||||
|
|
||||||
function scaledown(value, min, max){
|
function scaledown(value, min, max){
|
||||||
//print("scaledown", value, min, max);
|
//print("scaledown", value, min, max);
|
||||||
var scaled = E.clip(getValue(value),getValue(min,0),getValue(max,1));
|
let scaled = E.clip(getValue(value),getValue(min,0),getValue(max,1));
|
||||||
scaled -= getValue(min,0);
|
scaled -= getValue(min,0);
|
||||||
scaled /= getValue(max,1);
|
scaled /= getValue(max,1);
|
||||||
return scaled;
|
return scaled;
|
||||||
}
|
}
|
||||||
|
|
||||||
function radians(rotation){
|
function radians(rotation){
|
||||||
var value = scaledown(rotation.RotationValue, rotation.MinRotationValue, rotation.MaxRotationValue);
|
let value = scaledown(rotation.RotationValue, rotation.MinRotationValue, rotation.MaxRotationValue);
|
||||||
value -= rotation.RotationOffset ? rotation.RotationOffset : 0;
|
value -= rotation.RotationOffset ? rotation.RotationOffset : 0;
|
||||||
value *= 360;
|
value *= 360;
|
||||||
value *= Math.PI / 180;
|
value *= Math.PI / 180;
|
||||||
|
@ -421,14 +421,14 @@ function radians(rotation){
|
||||||
|
|
||||||
function drawPoly(graphics, resources, element){
|
function drawPoly(graphics, resources, element){
|
||||||
startPerfLog("drawPoly");
|
startPerfLog("drawPoly");
|
||||||
var vertices = [];
|
let vertices = [];
|
||||||
|
|
||||||
startPerfLog("drawPoly_transform");
|
startPerfLog("drawPoly_transform");
|
||||||
for (var c of element.Vertices){
|
for (let c of element.Vertices){
|
||||||
vertices.push(c.X);
|
vertices.push(c.X);
|
||||||
vertices.push(c.Y);
|
vertices.push(c.Y);
|
||||||
}
|
}
|
||||||
var transform = { x: element.X ? element.X : 0,
|
let transform = { x: element.X ? element.X : 0,
|
||||||
y: element.Y ? element.Y : 0
|
y: element.Y ? element.Y : 0
|
||||||
};
|
};
|
||||||
if (element.RotationValue){
|
if (element.RotationValue){
|
||||||
|
@ -453,7 +453,7 @@ function drawPoly(graphics, resources, element){
|
||||||
|
|
||||||
function drawRect(graphics, resources, element){
|
function drawRect(graphics, resources, element){
|
||||||
startPerfLog("drawRect");
|
startPerfLog("drawRect");
|
||||||
var vertices = [];
|
let vertices = [];
|
||||||
|
|
||||||
if (element.Filled){
|
if (element.Filled){
|
||||||
startPerfLog("drawRect_g.fillRect");
|
startPerfLog("drawRect_g.fillRect");
|
||||||
|
@ -482,24 +482,24 @@ function drawCircle(graphics, resources, element){
|
||||||
endPerfLog("drawCircle");
|
endPerfLog("drawCircle");
|
||||||
}
|
}
|
||||||
|
|
||||||
var numbers = {};
|
let numbers = {};
|
||||||
numbers.Hour = () => { return new Date().getHours(); };
|
numbers.Hour = () => { return new Date().getHours(); };
|
||||||
numbers.HourTens = () => { return Math.floor(new Date().getHours()/10); };
|
numbers.HourTens = () => { return Math.floor(new Date().getHours()/10); };
|
||||||
numbers.HourOnes = () => { return Math.floor(new Date().getHours()%10); };
|
numbers.HourOnes = () => { return Math.floor(new Date().getHours()%10); };
|
||||||
numbers.Hour12 = () => { return new Date().getHours()%12; };
|
numbers.Hour12 = () => { return new Date().getHours()%12; };
|
||||||
numbers.Hour12Analog = () => { var date = new Date(); return date.getHours()%12 + (date.getMinutes()/59); };
|
numbers.Hour12Analog = () => { let date = new Date(); return date.getHours()%12 + (date.getMinutes()/59); };
|
||||||
numbers.Hour12Tens = () => { return Math.floor((new Date().getHours()%12)/10); };
|
numbers.Hour12Tens = () => { return Math.floor((new Date().getHours()%12)/10); };
|
||||||
numbers.Hour12Ones = () => { return Math.floor((new Date().getHours()%12)%10); };
|
numbers.Hour12Ones = () => { return Math.floor((new Date().getHours()%12)%10); };
|
||||||
numbers.Minute = () => { return new Date().getMinutes(); };
|
numbers.Minute = () => { return new Date().getMinutes(); };
|
||||||
numbers.MinuteAnalog = () => { var date = new Date(); return date.getMinutes() + (date.getSeconds()/59); };
|
numbers.MinuteAnalog = () => { let date = new Date(); return date.getMinutes() + (date.getSeconds()/59); };
|
||||||
numbers.MinuteTens = () => { return Math.floor(new Date().getMinutes()/10); };
|
numbers.MinuteTens = () => { return Math.floor(new Date().getMinutes()/10); };
|
||||||
numbers.MinuteOnes = () => { return Math.floor(new Date().getMinutes()%10); };
|
numbers.MinuteOnes = () => { return Math.floor(new Date().getMinutes()%10); };
|
||||||
numbers.Second = () => { return new Date().getSeconds(); };
|
numbers.Second = () => { return new Date().getSeconds(); };
|
||||||
numbers.SecondAnalog = () => { var date = new Date(); return date.getSeconds() + (date.getMilliseconds()/999); };
|
numbers.SecondAnalog = () => { let date = new Date(); return date.getSeconds() + (date.getMilliseconds()/999); };
|
||||||
numbers.SecondTens = () => { return Math.floor(new Date().getSeconds()/10); };
|
numbers.SecondTens = () => { return Math.floor(new Date().getSeconds()/10); };
|
||||||
numbers.SecondOnes = () => { return Math.floor(new Date().getSeconds()%10); };
|
numbers.SecondOnes = () => { return Math.floor(new Date().getSeconds()%10); };
|
||||||
numbers.WeekDay = () => { return new Date().getDay(); };
|
numbers.WeekDay = () => { return new Date().getDay(); };
|
||||||
numbers.WeekDayMondayFirst = () => { var day = (new Date().getDay() - 1); if (day < 0) day = 7 + day; return day; };
|
numbers.WeekDayMondayFirst = () => { let day = (new Date().getDay() - 1); if (day < 0) day = 7 + day; return day; };
|
||||||
numbers.Day = () => { return new Date().getDate(); };
|
numbers.Day = () => { return new Date().getDate(); };
|
||||||
numbers.DayTens = () => { return Math.floor(new Date().getDate()/10); };
|
numbers.DayTens = () => { return Math.floor(new Date().getDate()/10); };
|
||||||
numbers.DayOnes = () => { return Math.floor(new Date().getDate()%10); };
|
numbers.DayOnes = () => { return Math.floor(new Date().getDate()%10); };
|
||||||
|
@ -517,7 +517,7 @@ numbers.BatteryVoltage = NRF.getBattery;
|
||||||
numbers.WeatherCode = getWeatherCode;
|
numbers.WeatherCode = getWeatherCode;
|
||||||
numbers.WeatherTemperature = () => { return getWeatherTemperature().value; };
|
numbers.WeatherTemperature = () => { return getWeatherTemperature().value; };
|
||||||
|
|
||||||
var multistates = {};
|
let multistates = {};
|
||||||
multistates.Lock = () => { return Bangle.isLocked() ? "on" : "off"; };
|
multistates.Lock = () => { return Bangle.isLocked() ? "on" : "off"; };
|
||||||
multistates.Charge = () => { return Bangle.isCharging() ? "on" : "off"; };
|
multistates.Charge = () => { return Bangle.isCharging() ? "on" : "off"; };
|
||||||
multistates.Notifications = () => { return ((require("Storage").readJSON("setting.json", 1) || {}).quiet|0) ? "off" : "vibrate"; };
|
multistates.Notifications = () => { return ((require("Storage").readJSON("setting.json", 1) || {}).quiet|0) ? "off" : "vibrate"; };
|
||||||
|
@ -536,22 +536,22 @@ multistates.StepsGoal = () => { return (numbers.Steps() >= (settings.stepsgoal |
|
||||||
function drawMultiState(graphics, resources, element){
|
function drawMultiState(graphics, resources, element){
|
||||||
startPerfLog("drawMultiState");
|
startPerfLog("drawMultiState");
|
||||||
//print("drawMultiState", element);
|
//print("drawMultiState", element);
|
||||||
var value = multistates[element.Value]();
|
let value = multistates[element.Value]();
|
||||||
//print("drawImage from drawMultiState", element, value);
|
//print("drawImage from drawMultiState", element, value);
|
||||||
drawImage(graphics, resources, element, value);
|
drawImage(graphics, resources, element, value);
|
||||||
element.lastDrawnValue = value;
|
element.lastDrawnValue = value;
|
||||||
endPerfLog("drawMultiState");
|
endPerfLog("drawMultiState");
|
||||||
}
|
}
|
||||||
|
|
||||||
var pulse,alt,temp,press;
|
let pulse,alt,temp,press;
|
||||||
|
|
||||||
|
|
||||||
var requestedDraws = 0;
|
let requestedDraws = 0;
|
||||||
var isDrawing = false;
|
let isDrawing = false;
|
||||||
|
|
||||||
var drawingTime;
|
let drawingTime;
|
||||||
|
|
||||||
var start;
|
let start;
|
||||||
|
|
||||||
function initialDraw(resources, face){
|
function initialDraw(resources, face){
|
||||||
//print("Free memory", process.memory(false).free);
|
//print("Free memory", process.memory(false).free);
|
||||||
|
@ -566,10 +566,10 @@ function initialDraw(resources, face){
|
||||||
//start = Date.now();
|
//start = Date.now();
|
||||||
drawingTime = 0;
|
drawingTime = 0;
|
||||||
//print("Precompiled");
|
//print("Precompiled");
|
||||||
var promise = precompiledJs(watchfaceResources, watchface);
|
let promise = precompiledJs(watchfaceResources, watchface);
|
||||||
|
|
||||||
promise.then(()=>{
|
promise.then(()=>{
|
||||||
var currentDrawingTime = Date.now();
|
let currentDrawingTime = Date.now();
|
||||||
if (showWidgets){
|
if (showWidgets){
|
||||||
//print("Draw widgets");
|
//print("Draw widgets");
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
|
@ -626,7 +626,7 @@ function handleCharging(e){
|
||||||
|
|
||||||
|
|
||||||
function getMatchedWaitingTime(time){
|
function getMatchedWaitingTime(time){
|
||||||
var result = time - (Date.now() % time);
|
let result = time - (Date.now() % time);
|
||||||
//print("Matched timeout", time, result);
|
//print("Matched timeout", time, result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -635,26 +635,26 @@ function getMatchedWaitingTime(time){
|
||||||
|
|
||||||
function setMatchedInterval(callable, time, intervalHandler, delay){
|
function setMatchedInterval(callable, time, intervalHandler, delay){
|
||||||
//print("Setting matched interval for", time);
|
//print("Setting matched interval for", time);
|
||||||
var matchedTime = getMatchedWaitingTime(time + delay);
|
let matchedTime = getMatchedWaitingTime(time + delay);
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
var interval = setInterval(callable, time);
|
let interval = setInterval(callable, time);
|
||||||
if (intervalHandler) intervalHandler(interval);
|
if (intervalHandler) intervalHandler(interval);
|
||||||
callable();
|
callable();
|
||||||
}, matchedTime);
|
}, matchedTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
var unlockedDrawInterval;
|
let unlockedDrawInterval;
|
||||||
var lockedDrawInterval;
|
let lockedDrawInterval;
|
||||||
|
|
||||||
var lastDrawTime = 0;
|
let lastDrawTime = 0;
|
||||||
var firstDraw = true;
|
let firstDraw = true;
|
||||||
|
|
||||||
var lockedRedraw = getByPath(watchface, ["Properties","Redraw","Locked"]) || 60000;
|
let lockedRedraw = getByPath(watchface, ["Properties","Redraw","Locked"]) || 60000;
|
||||||
var unlockedRedraw = getByPath(watchface, ["Properties","Redraw","Unlocked"]) || 1000;
|
let unlockedRedraw = getByPath(watchface, ["Properties","Redraw","Unlocked"]) || 1000;
|
||||||
var defaultRedraw = getByPath(watchface, ["Properties","Redraw","Default"]) || "Always";
|
let defaultRedraw = getByPath(watchface, ["Properties","Redraw","Default"]) || "Always";
|
||||||
var redrawEvents = getByPath(watchface, ["Properties","Redraw","Events"]);
|
let redrawEvents = getByPath(watchface, ["Properties","Redraw","Events"]);
|
||||||
var clearOnRedraw = getByPath(watchface, ["Properties","Redraw","Clear"]);
|
let clearOnRedraw = getByPath(watchface, ["Properties","Redraw","Clear"]);
|
||||||
var events = getByPath(watchface, ["Properties","Events"]);
|
let events = getByPath(watchface, ["Properties","Events"]);
|
||||||
|
|
||||||
//print("events", events);
|
//print("events", events);
|
||||||
//print("redrawEvents", redrawEvents);
|
//print("redrawEvents", redrawEvents);
|
||||||
|
@ -693,9 +693,9 @@ function handleLock(isLocked, forceRedraw){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var showWidgets = false;
|
let showWidgets = false;
|
||||||
var showWidgetsChanged = false;
|
let showWidgetsChanged = false;
|
||||||
var currentDragDistance = 0;
|
let currentDragDistance = 0;
|
||||||
|
|
||||||
Bangle.setUI("clock");
|
Bangle.setUI("clock");
|
||||||
Bangle.on('drag', (e)=>{
|
Bangle.on('drag', (e)=>{
|
||||||
|
@ -707,7 +707,7 @@ Bangle.on('drag', (e)=>{
|
||||||
//print("Enable widgets");
|
//print("Enable widgets");
|
||||||
if (WIDGETS && typeof WIDGETS === "object") {
|
if (WIDGETS && typeof WIDGETS === "object") {
|
||||||
for (let w in WIDGETS) {
|
for (let w in WIDGETS) {
|
||||||
var wd = WIDGETS[w];
|
let wd = WIDGETS[w];
|
||||||
wd.draw = originalWidgetDraw[w];
|
wd.draw = originalWidgetDraw[w];
|
||||||
wd.area = originalWidgetArea[w];
|
wd.area = originalWidgetArea[w];
|
||||||
}
|
}
|
||||||
|
@ -748,8 +748,8 @@ if (!events || events.includes("charging")) {
|
||||||
Bangle.on('charging', handleCharging);
|
Bangle.on('charging', handleCharging);
|
||||||
}
|
}
|
||||||
|
|
||||||
var originalWidgetDraw = {};
|
let originalWidgetDraw = {};
|
||||||
var originalWidgetArea = {};
|
let originalWidgetArea = {};
|
||||||
|
|
||||||
function clearWidgetsDraw(){
|
function clearWidgetsDraw(){
|
||||||
//print("Clear widget draw calls");
|
//print("Clear widget draw calls");
|
||||||
|
@ -757,7 +757,7 @@ function clearWidgetsDraw(){
|
||||||
originalWidgetDraw = {};
|
originalWidgetDraw = {};
|
||||||
originalWidgetArea = {};
|
originalWidgetArea = {};
|
||||||
for (let w in WIDGETS) {
|
for (let w in WIDGETS) {
|
||||||
var wd = WIDGETS[w];
|
let wd = WIDGETS[w];
|
||||||
originalWidgetDraw[w] = wd.draw;
|
originalWidgetDraw[w] = wd.draw;
|
||||||
originalWidgetArea[w] = wd.area;
|
originalWidgetArea[w] = wd.area;
|
||||||
wd.draw = () => {};
|
wd.draw = () => {};
|
||||||
|
|
Loading…
Reference in New Issue