Просмотр исходного кода

Add an offset mode for mobile

master
Fen Dweller 5 лет назад
Родитель
Сommit
b6b66e1230
2 измененных файлов: 20 добавлений и 2 удалений
  1. +4
    -0
      xray.html
  2. +16
    -2
      xray.js

+ 4
- 0
xray.html Просмотреть файл

@@ -41,6 +41,10 @@
Paint mode: Paint mode:
<input type="checkbox" id="paint-mode"> <input type="checkbox" id="paint-mode">
</label> </label>
<label class="nostart large">
Offset mode:
<input type="checkbox" id="offset-mode">
</label>
<label class="nostart large"> <label class="nostart large">
Fit to screen: Fit to screen:
<input type="checkbox" id="fit-screen" checked> <input type="checkbox" id="fit-screen" checked>


+ 16
- 2
xray.js Просмотреть файл

@@ -16,6 +16,7 @@ let height;
let border = true; let border = true;
let fitScreen = true; let fitScreen = true;
let paintMode = false; let paintMode = false;
let offsetMode = false;
let shadow = true; let shadow = true;


let firstTime = true; let firstTime = true;
@@ -416,6 +417,10 @@ document.addEventListener("DOMContentLoaded", e => {
paintMode = e.target.checked; paintMode = e.target.checked;
}); });
document.querySelector("#offset-mode").addEventListener("change", e => {
offsetMode = e.target.checked;
});
document.querySelector("#fit-screen").addEventListener("change", e => { document.querySelector("#fit-screen").addEventListener("change", e => {
fitScreen = e.target.checked; fitScreen = e.target.checked;
setup(); setup();
@@ -569,7 +574,12 @@ function updateOverlay(points, clicked) {


if (!paintMode || clicked) { if (!paintMode || clicked) {
points.forEach(point => { points.forEach(point => {
const [x,y] = point;
let [x,y] = point;

if (offsetMode) {
y -= radius * scale * 1.2;
}

overlayCtx.beginPath(); overlayCtx.beginPath();
overlayCtx.ellipse(x, y, radius * scale, radius * scale, 0, 0, 2 * Math.PI); overlayCtx.ellipse(x, y, radius * scale, radius * scale, 0, 0, 2 * Math.PI);
@@ -603,7 +613,11 @@ function updateOverlay(points, clicked) {


if (!paintMode && border) { if (!paintMode && border) {
points.forEach(point => { points.forEach(point => {
const [x, y] = point;
let [x, y] = point;

if (offsetMode) {
y -= radius * scale * 1.2;
}


overlayCtx.strokeStyle = "#000"; overlayCtx.strokeStyle = "#000";
overlayCtx.lineWidth = 3; overlayCtx.lineWidth = 3;


Загрузка…
Отмена
Сохранить