UNPKG

jianpurender

Version:

Render music score using SVG on browsers.

61 lines (60 loc) 1.67 kB
import { JianpuInfo, NoteInfo } from './jianpu_info'; import { JianpuModel } from './jianpu_model'; export declare enum ScrollType { PAGE = 0, NOTE = 1, BAR = 2 } export interface JianpuSVGRenderConfig { noteHeight?: number; noteSpacingFactor?: number; pixelsPerTimeStep?: number; noteColor?: string; activeNoteColor?: string; defaultKey?: number; scrollType?: ScrollType; fontFamily?: string; width?: number; height?: number; } export declare class JianpuSVGRender { jianpuInfo: JianpuInfo; jianpuModel: JianpuModel; private config; private height; private width; private parentElement; private div; private mainSVG; private mainG; private musicG; private signaturesG; private overlaySVG; private overlayG; private signaturesBlinking; private lastKnownScrollLeft; private isScrolling; private currentKey; private currentTimeSignature; private playingNotes; private lastRenderedQ; private estimatedNoteWidth; private numberFontSize; private smallFontSize; private yBaseline; private parseColorString; constructor(score: JianpuInfo, config: JianpuSVGRenderConfig, div: HTMLDivElement); clear(): void; private updateLayout; redraw(activeNote?: NoteInfo, scrollIntoView?: boolean): number; private drawJianpuBlock; private drawNotes; private drawRest; private drawSignatures; private updateCurrentKey; private updateCurrentTimeSignature; private handleScrollEvent; private scrollIntoViewIfNeeded; private updateOverlaySignaturesForScroll; private pixelsToTime; }