-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
24 changed files
with
27,469 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import { Q as QPage } from "./QPage.5d8a4d59.js"; | ||
import { k as openBlock, n as createBlock, p as withCtx, m as createBaseVNode, z as toDisplayString, B as unref, C as createTextVNode } from "./index.ac0898f0.js"; | ||
const _hoisted_1 = /* @__PURE__ */ createBaseVNode("br", null, null, -1); | ||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("br", null, null, -1); | ||
const _hoisted_3 = ["href"]; | ||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("br", null, null, -1); | ||
const _hoisted_5 = ["href"]; | ||
const _sfc_main = { | ||
__name: "AboutPage", | ||
setup(__props) { | ||
const appinfo = { "name": "quasar-lightpaint", "version": "0.0.1", "productName": "Quasar LightPaint", "description": "a simple light painting app for webcam & phone use", "projectUrl": "https://github.com/s-light/quasar_lightpaint", "previewUrl": "https://s-light.github.io/quasar_lightpaint/dist/spa/#/" }; | ||
return (_ctx, _cache) => { | ||
return openBlock(), createBlock(QPage, { | ||
class: "flex column", | ||
style: { "align-items": "center" } | ||
}, { | ||
default: withCtx(() => [ | ||
createBaseVNode("section", null, [ | ||
createBaseVNode("h4", null, toDisplayString(unref(appinfo).productName), 1), | ||
createBaseVNode("p", null, "version: v" + toDisplayString(unref(appinfo).version), 1), | ||
createBaseVNode("p", null, [ | ||
createTextVNode(toDisplayString(unref(appinfo).description), 1), | ||
_hoisted_1, | ||
createTextVNode(" find the project repository at "), | ||
_hoisted_2, | ||
createBaseVNode("a", { | ||
target: "_blank", | ||
href: unref(appinfo).projectUrl | ||
}, toDisplayString(unref(appinfo).projectUrl), 9, _hoisted_3) | ||
]), | ||
createBaseVNode("p", null, [ | ||
createTextVNode(" a live preview version is hosted at"), | ||
_hoisted_4, | ||
createBaseVNode("a", { | ||
target: "_blank", | ||
href: unref(appinfo).previewUrl | ||
}, toDisplayString(unref(appinfo).previewUrl), 9, _hoisted_5) | ||
]) | ||
]) | ||
]), | ||
_: 1 | ||
}); | ||
}; | ||
} | ||
}; | ||
export { _sfc_main as default }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { k as openBlock, l as createElementBlock, m as createBaseVNode, f as createVNode, ad as QBtn } from "./index.ac0898f0.js"; | ||
const _hoisted_1 = { class: "fullscreen bg-blue text-white text-center q-pa-md flex flex-center" }; | ||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", { style: { "font-size": "30vh" } }, " 404 ", -1); | ||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("div", { | ||
class: "text-h2", | ||
style: { "opacity": ".4" } | ||
}, " Oops. Nothing here... ", -1); | ||
const _sfc_main = Object.assign({ | ||
name: "ErrorNotFound" | ||
}, { | ||
__name: "ErrorNotFound", | ||
setup(__props) { | ||
return (_ctx, _cache) => { | ||
return openBlock(), createElementBlock("div", _hoisted_1, [ | ||
createBaseVNode("div", null, [ | ||
_hoisted_2, | ||
_hoisted_3, | ||
createVNode(QBtn, { | ||
class: "q-mt-xl", | ||
color: "white", | ||
"text-color": "blue", | ||
unelevated: "", | ||
to: "/", | ||
label: "Go Home", | ||
"no-caps": "" | ||
}) | ||
]) | ||
]); | ||
}; | ||
} | ||
}); | ||
export { _sfc_main as default }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
import { Q as QPage } from "./QPage.5d8a4d59.js"; | ||
import { i as inject, q as quasarKey, k as openBlock, l as createElementBlock, m as createBaseVNode, n as createBlock, p as withCtx, f as createVNode } from "./index.ac0898f0.js"; | ||
function useQuasar() { | ||
return inject(quasarKey); | ||
} | ||
if (typeof HTMLVideoElement !== "undefined" && !("requestVideoFrameCallback" in HTMLVideoElement.prototype) && "getVideoPlaybackQuality" in HTMLVideoElement.prototype) { | ||
HTMLVideoElement.prototype._rvfcpolyfillmap = {}; | ||
HTMLVideoElement.prototype.requestVideoFrameCallback = function(callback) { | ||
const handle = performance.now(); | ||
const quality = this.getVideoPlaybackQuality(); | ||
const baseline = this.mozPresentedFrames || this.mozPaintedFrames || quality.totalVideoFrames - quality.droppedVideoFrames; | ||
const check = (old, now) => { | ||
const newquality = this.getVideoPlaybackQuality(); | ||
const presentedFrames = this.mozPresentedFrames || this.mozPaintedFrames || newquality.totalVideoFrames - newquality.droppedVideoFrames; | ||
if (presentedFrames > baseline) { | ||
const processingDuration = this.mozFrameDelay || newquality.totalFrameDelay - quality.totalFrameDelay || 0; | ||
const timediff = now - old; | ||
callback(now, { | ||
presentationTime: now + processingDuration * 1e3, | ||
expectedDisplayTime: now + timediff, | ||
width: this.videoWidth, | ||
height: this.videoHeight, | ||
mediaTime: Math.max(0, this.currentTime || 0) + timediff / 1e3, | ||
presentedFrames, | ||
processingDuration | ||
}); | ||
delete this._rvfcpolyfillmap[handle]; | ||
} else { | ||
this._rvfcpolyfillmap[handle] = requestAnimationFrame((newer) => check(now, newer)); | ||
} | ||
}; | ||
this._rvfcpolyfillmap[handle] = requestAnimationFrame((newer) => check(handle, newer)); | ||
return handle; | ||
}; | ||
HTMLVideoElement.prototype.cancelVideoFrameCallback = function(handle) { | ||
cancelAnimationFrame(this._rvfcpolyfillmap[handle]); | ||
delete this._rvfcpolyfillmap[handle]; | ||
}; | ||
} | ||
const _hoisted_1 = /* @__PURE__ */ createBaseVNode("video", { src: "" }, null, -1); | ||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("canvas", null, null, -1); | ||
const _hoisted_3 = [ | ||
_hoisted_1, | ||
_hoisted_2 | ||
]; | ||
const _sfc_main$1 = { | ||
__name: "LightPaint", | ||
setup(__props) { | ||
let animation_handle; | ||
const canvas = document.querySelector("canvas"); | ||
const ctx = canvas.getContext("2d"); | ||
const video = document.querySelector("video"); | ||
video.addEventListener("loadeddata", video_load_callback, false); | ||
function video_load_callback() { | ||
video.cancelVideoFrameCallback(animation_handle); | ||
step(); | ||
} | ||
function step() { | ||
ctx.drawImage(video, 0, 0, canvas.width, canvas.height); | ||
animation_handle = video.requestVideoFrameCallback(step); | ||
} | ||
return (_ctx, _cache) => { | ||
return openBlock(), createElementBlock("div", null, _hoisted_3); | ||
}; | ||
} | ||
}; | ||
const _sfc_main = { | ||
__name: "IndexPage", | ||
setup(__props) { | ||
const $q = useQuasar(); | ||
$q.dark.set(true); | ||
return (_ctx, _cache) => { | ||
return openBlock(), createBlock(QPage, { class: "flex flex-center content-stretch" }, { | ||
default: withCtx(() => [ | ||
createVNode(_sfc_main$1) | ||
]), | ||
_: 1 | ||
}); | ||
}; | ||
} | ||
}; | ||
export { _sfc_main as default }; |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.