mirror of https://github.com/espruino/BangleApps
ptlaunch: Improve pattern rendering by HughB
parent
4cc822cafb
commit
3dde7126ad
|
@ -4861,7 +4861,7 @@
|
|||
"id": "ptlaunch",
|
||||
"name": "Pattern Launcher",
|
||||
"shortName": "Pattern Launcher",
|
||||
"version": "0.12",
|
||||
"version": "0.13",
|
||||
"description": "Directly launch apps from the clock screen with custom patterns.",
|
||||
"icon": "app.png",
|
||||
"screenshots": [{"url":"manage_patterns_light.png"}],
|
||||
|
|
|
@ -3,4 +3,5 @@
|
|||
0.03: Make tap to confirm new pattern more reliable. Also allow for easier creation of single circle patterns.
|
||||
0.10: Improve the management of existing patterns: Draw the linked pattern on the left hand side of the app name within a scroller, similar to the default launcher. Slighlty clean up the code to make it less horrible.
|
||||
0.11: Respect theme colors. Fix: Do not pollute global space with internal variables ans functions in boot.js
|
||||
0.12: Improve pattern detection code readability by PaddeK http://forum.espruino.com/profiles/117930/
|
||||
0.12: Improve pattern detection code readability by PaddeK http://forum.espruino.com/profiles/117930/
|
||||
0.13: Improve pattern rendering by HughB http://forum.espruino.com/profiles/167235/
|
|
@ -29,39 +29,41 @@ Then launch the linked apps directly from the clock screen by simply drawing the
|
|||
## Detailed Steps
|
||||
|
||||
From the main menu you can:
|
||||
|
||||
- Add a new pattern and link it to an app (first entry)
|
||||
- To create a new pattern first select "Add Pattern"
|
||||
- Now draw any pattern you like, this will later launch the linked app from the clock screen
|
||||
- You can also draw a single-circle pattern (meaning a single tap on one circle) instead of drawing a 'complex' pattern
|
||||
- If you don't like the pattern, simply re-draw it. The previous pattern will be discarded.
|
||||
- If you are happy with the pattern tap on screen or press the button to continue
|
||||
- Now select the app you want to launch with the pattern.
|
||||
- Note, you can bind multiple patterns to the same app.
|
||||
- To create a new pattern first select "Add Pattern"
|
||||
- Now draw any pattern you like, this will later launch the linked app from the clock screen
|
||||
- You can also draw a single-circle pattern (meaning a single tap on one circle) instead of drawing a 'complex' pattern
|
||||
- If you don't like the pattern, simply re-draw it. The previous pattern will be discarded.
|
||||
- If you are happy with the pattern tap on screen or press the button to continue
|
||||
- Now select the app you want to launch with the pattern.
|
||||
- Note, you can bind multiple patterns to the same app.
|
||||
- Manage created patterns (second entry)
|
||||
- To manage your patterns first select "Manage Patterns"
|
||||
- You will now see a scrollabe list of patterns + linked apps
|
||||
- If you want to deletion a pattern (and unlink the app) simply tap on it, and confirm the deletion
|
||||
- To manage your patterns first select "Manage Patterns"
|
||||
- You will now see a scrollabe list of patterns + linked apps
|
||||
- If you want to deletion a pattern (and unlink the app) simply tap on it, and confirm the deletion
|
||||
- Disable the lock screen on the clock screen from the settings (third entry)
|
||||
- To launch the app from the pattern on the clock screen the watch must be unlocked.
|
||||
- If this annoys you, you can disable the lock on the clock screen from the setting here
|
||||
- To launch the app from the pattern on the clock screen the watch must be unlocked.
|
||||
- If this annoys you, you can disable the lock on the clock screen from the setting here
|
||||
|
||||
## FAQ
|
||||
|
||||
1) Nothing happens when I draw on the clock screen!
|
||||
1. Nothing happens when I draw on the clock screen!
|
||||
|
||||
Please double-check if you actually have a pattern linked to an app.
|
||||
|
||||
2) I have a pattern linked to an app and still nothing happens when I draw on the clock screen!
|
||||
2. I have a pattern linked to an app and still nothing happens when I draw on the clock screen!
|
||||
|
||||
Make sure the watch is unlocked before you start drawing. If this bothers you, you can permanently disable the watch-lock from within the Pattern Launcher app (via the Settings).
|
||||
|
||||
3) I have done all that and still nothing happens!
|
||||
3. I have done all that and still nothing happens!
|
||||
|
||||
Please note that drawing on the clock screen will not visually show the pattern you drew. It will start the app as soon as the pattern was recognized - this might take 1 or 2 seconds! If still nothing happens, that might be a bug, sorry!
|
||||
|
||||
|
||||
## Authors
|
||||
|
||||
Initial creation: [crazysaem](https://github.com/crazysaem)
|
||||
|
||||
Improve pattern detection code readability: [PaddeK](http://forum.espruino.com/profiles/117930/)
|
||||
|
||||
Improve pattern rendering: [HughB](http://forum.espruino.com/profiles/167235/)
|
||||
|
|
|
@ -365,6 +365,18 @@ var getStoredPatternsArray = () => {
|
|||
var CIRCLE_RADIUS = 25;
|
||||
var CIRCLE_RADIUS_2 = CIRCLE_RADIUS * CIRCLE_RADIUS;
|
||||
|
||||
var CIRCLES = [
|
||||
{ x: 25, y: 25, i: 0 },
|
||||
{ x: 87, y: 25, i: 1 },
|
||||
{ x: 150, y: 25, i: 2 },
|
||||
{ x: 25, y: 87, i: 3 },
|
||||
{ x: 87, y: 87, i: 4 },
|
||||
{ x: 150, y: 87, i: 5 },
|
||||
{ x: 25, y: 150, i: 6 },
|
||||
{ x: 87, y: 150, i: 7 },
|
||||
{ x: 150, y: 150, i: 8 },
|
||||
];
|
||||
|
||||
var drawCircle = (circle, drawBuffer, scale) => {
|
||||
if (!drawBuffer) {
|
||||
drawBuffer = g;
|
||||
|
@ -380,7 +392,8 @@ var drawCircle = (circle, drawBuffer, scale) => {
|
|||
log("drawing circle");
|
||||
log({ x: x, y: y, r: r });
|
||||
|
||||
drawBuffer.drawCircle(x, y, r);
|
||||
drawBuffer.setColor(0);
|
||||
drawBuffer.fillCircle(x, y, r);
|
||||
};
|
||||
|
||||
var cachedCirclesDrawings = {};
|
||||
|
@ -425,8 +438,11 @@ var drawCirclesWithPattern = (pattern, options) => {
|
|||
{ msb: true }
|
||||
);
|
||||
|
||||
CIRCLES.forEach((circle) => drawCircle(circle, drawBuffer, scale));
|
||||
drawBuffer.setColor(1);
|
||||
drawBuffer.fillRect(0, 0, drawBuffer.getWidth(), drawBuffer.getHeight());
|
||||
|
||||
CIRCLES.forEach((circle) => drawCircle(circle, drawBuffer, scale));
|
||||
drawBuffer.setColor(1);
|
||||
drawBuffer.setFontAlign(0, 0);
|
||||
drawBuffer.setFont("Vector", 40 * scale);
|
||||
pattern.forEach((circleIndex, patternIndex) => {
|
||||
|
@ -437,12 +453,12 @@ var drawCirclesWithPattern = (pattern, options) => {
|
|||
circle.y * scale
|
||||
);
|
||||
});
|
||||
|
||||
image = {
|
||||
width: drawBuffer.getWidth(),
|
||||
height: drawBuffer.getHeight(),
|
||||
bpp: 1,
|
||||
buffer: drawBuffer.buffer,
|
||||
palette: new Uint16Array([g.theme.fg, g.theme.bg], 0, 1),
|
||||
};
|
||||
|
||||
if (enableCaching) {
|
||||
|
|
Loading…
Reference in New Issue