BangleApps/apps/scolor/show-color.js

61 lines
1.9 KiB
JavaScript
Raw Normal View History

2019-11-12 16:42:18 +00:00
/* jshint esversion: 6 */
(function() {
const colors = {
0: { value: 0x0000, name: "Black" },
1: { value: 0x000F, name: "Navy" },
2: { value: 0x03E0, name: "DarkGreen" },
3: { value: 0x03EF, name: "DarkCyan" },
4: { value: 0x7800, name: "Maroon" },
5: { value: 0x780F, name: "Purple" },
6: { value: 0x7BE0, name: "Olive" },
7: { value: 0xC618, name: "LightGray" },
8: { value: 0x7BEF, name: "DarkGrey" },
9: { value: 0x001F, name: "Blue" },
10: { value: 0x07E0, name: "Green" },
11: { value: 0x07FF, name: "Cyan" },
12: { value: 0xF800, name: "Red" },
13: { value: 0xF81F, name: "Magenta" },
14: { value: 0xFFE0, name: "Yellow" },
15: { value: 0xFFFF, name: "White" },
16: { value: 0xFD20, name: "Orange" },
17: { value: 0xAFE5, name: "GreenYellow" },
18: { value: 0xF81F, name: "Pink" },
};
const maxColors = 19;
var index = 0;
function drawColor() {
// draw filled rectangle
g.setColor(colors[index % maxColors].value);
g.fillRect(0, 24, g.getWidth(), g.getHeight());
// draw value name of color
g.setFontAlign(0, 0);
g.setColor(0xFFFF);
if (colors[index % maxColors].name == "White")
g.setColor(0);
g.setFont("6x8", 4);
g.drawString('0x' + colors[index % maxColors].value.toString(16), 120, 80);
g.setFont("6x8", 3);
g.drawString(colors[index % maxColors].name, 120, 160);
// draw next button info
g.setFont("6x8", 2);
g.setFontAlign(0, 0, 3);
g.drawString("Next", 230, 60);
// set watches for button 1
index++;
setWatch(drawColor, BTN1, { repeate: true });
}
g.clear();
setWatch(drawColor, BTN1, { repeate: false });
E.showMessage("Press BTN1\nto start");
})();