iconbits: cleanups, implement line drawing.
parent
2d4ad4a756
commit
b51a856576
|
|
@ -98,8 +98,8 @@ Bangle.on("lock", function() {
|
||||||
function nextPen () {
|
function nextPen () {
|
||||||
switch (pen) {
|
switch (pen) {
|
||||||
case 'circle': pen = 'pixel'; break;
|
case 'circle': pen = 'pixel'; break;
|
||||||
case 'pixel': pen = 'crayon'; break;
|
case 'pixel': pen = 'line'; break;
|
||||||
case 'crayon': pen = 'square'; break;
|
case 'line': pen = 'square'; break;
|
||||||
case 'square': pen = 'circle'; break;
|
case 'square': pen = 'circle'; break;
|
||||||
default: pen = 'pixel'; break;
|
default: pen = 'pixel'; break;
|
||||||
}
|
}
|
||||||
|
|
@ -108,8 +108,8 @@ Bangle.on("lock", function() {
|
||||||
discard = setTimeout(function () { oldX = -1; oldY = -1; console.log('timeout'); discard = null; }, 500);
|
discard = setTimeout(function () { oldX = -1; oldY = -1; console.log('timeout'); discard = null; }, 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldX = -1;
|
var oldX = -1, oldY = -1;
|
||||||
var oldY = -1;
|
var line_from = null;
|
||||||
|
|
||||||
function drawBrushIcon () {
|
function drawBrushIcon () {
|
||||||
const w = g.getWidth();
|
const w = g.getWidth();
|
||||||
|
|
@ -129,6 +129,9 @@ Bangle.on("lock", function() {
|
||||||
g.drawLine(w - 14, 6, w - 10, 12);
|
g.drawLine(w - 14, 6, w - 10, 12);
|
||||||
g.drawLine(w - 6, 6, w - 10, 12);
|
g.drawLine(w - 6, 6, w - 10, 12);
|
||||||
break;
|
break;
|
||||||
|
case 'line':
|
||||||
|
g.drawLine(w - 5, 5, w - 15, 15);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -199,6 +202,7 @@ Bangle.on("lock", function() {
|
||||||
let YS = (to.y - from.y) / 32;
|
let YS = (to.y - from.y) / 32;
|
||||||
|
|
||||||
switch (pen) {
|
switch (pen) {
|
||||||
|
case 'line':
|
||||||
case 'pixel':
|
case 'pixel':
|
||||||
g.drawLine(from.x, from.y, to.x, to.y);
|
g.drawLine(from.x, from.y, to.x, to.y);
|
||||||
break;
|
break;
|
||||||
|
|
@ -219,6 +223,8 @@ Bangle.on("lock", function() {
|
||||||
g.fillRect(posX - 4, posY - 4, posX + 4, posY + 4);
|
g.fillRect(posX - 4, posY - 4, posX + 4, posY + 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
print("Unkown pen ", pen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -229,9 +235,11 @@ Bangle.on("lock", function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function do_draw(from, to) {
|
function do_draw(from, to) {
|
||||||
|
print("do-draw", from, to);
|
||||||
from = transform(from);
|
from = transform(from);
|
||||||
to = transform(to);
|
to = transform(to);
|
||||||
if (from && to) {
|
if (from && to) {
|
||||||
|
print("__draw", from, to);
|
||||||
__draw(sg, from, to);
|
__draw(sg, from, to);
|
||||||
}
|
}
|
||||||
update();
|
update();
|
||||||
|
|
@ -306,20 +314,31 @@ Bangle.on("lock", function() {
|
||||||
drawUtil();
|
drawUtil();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
oldX = to.x;
|
|
||||||
oldY = to.y;
|
|
||||||
sg.setColor(kule[0], kule[1], kule[2]);
|
sg.setColor(kule[0], kule[1], kule[2]);
|
||||||
g.setColor(kule[0], kule[1], kule[2]);
|
g.setColor(kule[0], kule[1], kule[2]);
|
||||||
|
oldX = to.x;
|
||||||
|
oldY = to.y;
|
||||||
|
|
||||||
do_draw(from, to);
|
if (pen != "line") {
|
||||||
|
do_draw(from, to);
|
||||||
|
} else {
|
||||||
|
if (tap.b == 1) {
|
||||||
|
print(line_from);
|
||||||
|
if (!line_from) {
|
||||||
|
line_from = to;
|
||||||
|
} else {
|
||||||
|
print("draw -- ", line_from, to);
|
||||||
|
do_draw(line_from, to);
|
||||||
|
line_from = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
drawUtil();
|
drawUtil();
|
||||||
}
|
}
|
||||||
function on_btn(n) {
|
function on_btn(n) {
|
||||||
function f(i) {
|
function f(i) {
|
||||||
return "\\x" + i.toString(16).padStart(2, '0');
|
return "\\x" + i.toString(16).padStart(2, '0');
|
||||||
}
|
}
|
||||||
print("on_btn", n);
|
|
||||||
print(g.getPixel(0, 0));
|
|
||||||
let s = f(0) + f(font_width) + f(font_height) + f(1);
|
let s = f(0) + f(font_width) + f(font_height) + f(1);
|
||||||
// 0..black, 65535..white
|
// 0..black, 65535..white
|
||||||
for (let y = 0; y < font_height; y++) {
|
for (let y = 0; y < font_height; y++) {
|
||||||
|
|
@ -330,17 +349,11 @@ Bangle.on("lock", function() {
|
||||||
}
|
}
|
||||||
s += f(v);
|
s += f(v);
|
||||||
}
|
}
|
||||||
print("Manual bitmap\n");
|
if (mode == "font")
|
||||||
print('show_font("' + s + '");');
|
print('show_font("' + s + '");');
|
||||||
if (1) {
|
var im = sg.asImage("string");
|
||||||
s = "";
|
//print('show_unc_icon("'+btoa(im)+'");');
|
||||||
var im = sg.asImage("string");
|
print('show_icon("'+btoa(require('heatshrink').compress(im))+'");');
|
||||||
for (var v of im) {
|
|
||||||
s += f(v);
|
|
||||||
}
|
|
||||||
//print('show_unc_icon("'+btoa(im)+'");');
|
|
||||||
print('show_icon("'+btoa(require('heatshrink').compress(im))+'");');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setup("icon");
|
setup("icon");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue