-
+
+
-
-
-
diff --git a/demo/client/src/benchmark.ts b/demo/client/src/benchmark.ts
index 0efd0a46..27a42ed7 100644
--- a/demo/client/src/benchmark.ts
+++ b/demo/client/src/benchmark.ts
@@ -60,6 +60,8 @@ class BenchmarkAppController extends DemoAppController {
protected readonly defaultFile: string = FONT;
protected readonly builtinFileURI: string = BUILTIN_FONT_URI;
+ private optionsModal: HTMLDivElement;
+
private resultsModal: HTMLDivElement;
private resultsTableBody: HTMLTableSectionElement;
private resultsPartitioningTimeLabel: HTMLSpanElement;
@@ -77,6 +79,9 @@ class BenchmarkAppController extends DemoAppController {
start(): void {
super.start();
+ this.optionsModal = unwrapNull(document.getElementById('pf-benchmark-modal')) as
+ HTMLDivElement;
+
this.resultsModal = unwrapNull(document.getElementById('pf-benchmark-results-modal')) as
HTMLDivElement;
this.resultsTableBody =
@@ -99,6 +104,8 @@ class BenchmarkAppController extends DemoAppController {
const runBenchmarkButton = unwrapNull(document.getElementById('pf-run-benchmark-button'));
runBenchmarkButton.addEventListener('click', () => this.runBenchmark(), false);
+ window.jQuery(this.optionsModal).modal();
+
this.loadInitialFile(this.builtinFileURI);
}
@@ -146,6 +153,8 @@ class BenchmarkAppController extends DemoAppController {
}
private runBenchmark(): void {
+ window.jQuery(this.optionsModal).modal('hide');
+
this.reset();
this.elapsedTimes = [];
this.pixelsPerEm = MIN_FONT_SIZE;
@@ -240,6 +249,8 @@ class BenchmarkTestView extends DemoView {
readonly renderer: BenchmarkRenderer;
readonly appController: BenchmarkAppController;
+ renderingPromiseCallback: ((time: number) => void) | null;
+
get camera(): OrthographicCamera {
return this.renderer.camera;
}
@@ -248,10 +259,6 @@ class BenchmarkTestView extends DemoView {
this.renderer.pixelsPerEm = newPPEM;
}
- set renderingPromiseCallback(newCallback: (time: number) => void) {
- this.renderer.renderingPromiseCallback = newCallback;
- }
-
constructor(appController: BenchmarkAppController,
gammaLUT: HTMLImageElement,
commonShaderSource: string,
@@ -263,6 +270,15 @@ class BenchmarkTestView extends DemoView {
this.resizeToFit(true);
}
+
+ protected renderingFinished(): void {
+ if (this.renderingPromiseCallback == null)
+ return;
+
+ const glyphCount = unwrapNull(this.appController.textRun).glyphIDs.length;
+ const usPerGlyph = this.renderer.lastTimings.rendering * 1000.0 / glyphCount;
+ this.renderingPromiseCallback(usPerGlyph);
+ }
}
class BenchmarkRenderer extends Renderer {
@@ -270,8 +286,6 @@ class BenchmarkRenderer extends Renderer {
camera: OrthographicCamera;
- renderingPromiseCallback: ((time: number) => void) | null;
-
get usesSTTransform(): boolean {
return this.camera.usesSTTransform;
}
@@ -404,14 +418,6 @@ class BenchmarkRenderer extends Renderer {
// TODO(pcwalton)
}
- protected renderingFinished(): void {
- if (this.renderingPromiseCallback == null)
- return;
- const glyphCount = unwrapNull(this.renderContext.appController.textRun).glyphIDs.length;
- const usPerGlyph = this.lastTimings.rendering * 1000.0 / glyphCount;
- this.renderingPromiseCallback(usPerGlyph);
- }
-
protected pathColorsForObject(objectIndex: number): Uint8Array {
const pathColors = new Uint8Array(4 * (STRING.length + 1));
for (let pathIndex = 0; pathIndex < STRING.length; pathIndex++)
diff --git a/demo/client/src/renderer.ts b/demo/client/src/renderer.ts
index 46c8c560..e983d0af 100644
--- a/demo/client/src/renderer.ts
+++ b/demo/client/src/renderer.ts
@@ -44,6 +44,8 @@ export abstract class Renderer {
meshes: PathfinderMeshBuffers[] | null;
meshData: PathfinderMeshData[] | null;
+ lastTimings: Timings;
+
abstract get usesSTTransform(): boolean;
get emboldenAmount(): glmatrix.vec2 {
@@ -75,7 +77,6 @@ export abstract class Renderer {
abstract get destUsedSize(): glmatrix.vec2;
protected antialiasingStrategy: AntialiasingStrategy | null;
- protected lastTimings: Timings;
protected pathColorsBufferTextures: PathfinderBufferTexture[];
protected gammaCorrectionMode: GammaCorrectionMode;
diff --git a/demo/client/src/view.ts b/demo/client/src/view.ts
index c6561708..96e361e5 100644
--- a/demo/client/src/view.ts
+++ b/demo/client/src/view.ts
@@ -116,14 +116,7 @@ export abstract class PathfinderView {
if (!this.canvas.classList.contains('pf-no-autoresize')) {
const windowWidth = window.innerWidth;
const canvasTop = this.canvas.getBoundingClientRect().top;
- let height = window.scrollY + window.innerHeight - canvasTop;
-
- const nonoverlappingBottomBar =
- document.getElementById('pf-nonoverlapping-bottom-bar');
- if (nonoverlappingBottomBar != null) {
- const rect = nonoverlappingBottomBar.getBoundingClientRect();
- height -= window.innerHeight - rect.top;
- }
+ const height = window.scrollY + window.innerHeight - canvasTop;
const devicePixelRatio = window.devicePixelRatio;