perfetto-ui: Checkerboard on no data We left it up to individual tracks to checkerboard on no data which most weren't doing. Instead handle this in the super class. Change-Id: Ibf54db77363f7b1c09a427f0749f62e5aebd8108
diff --git a/ui/src/frontend/checkerboard.ts b/ui/src/frontend/checkerboard.ts index 6a126c5..6ae9487 100644 --- a/ui/src/frontend/checkerboard.ts +++ b/ui/src/frontend/checkerboard.ts
@@ -18,7 +18,7 @@ /** * Checker board the range [leftPx, rightPx]. */ -function checkerboard( +export function checkerboard( ctx: CanvasRenderingContext2D, heightPx: number, leftPx: number,
diff --git a/ui/src/frontend/track.ts b/ui/src/frontend/track.ts index acd475c..2059cf6 100644 --- a/ui/src/frontend/track.ts +++ b/ui/src/frontend/track.ts
@@ -14,6 +14,7 @@ import {TrackState} from '../common/state'; import {TrackData} from '../common/track_data'; +import {checkerboard} from './checkerboard'; import {globals} from './globals'; @@ -65,6 +66,13 @@ render(ctx: CanvasRenderingContext2D) { globals.frontendLocalState.addVisibleTrack(this.trackState.id); - this.renderCanvas(ctx); + if (this.data() === undefined) { + const {visibleWindowTime, timeScale} = globals.frontendLocalState; + const startPx = Math.floor(timeScale.timeToPx(visibleWindowTime.start)); + const endPx = Math.ceil(timeScale.timeToPx(visibleWindowTime.end)); + checkerboard(ctx, this.getHeight(), startPx, endPx); + } else { + this.renderCanvas(ctx); + } } }