UNPKG

vexflow

Version:

A JavaScript library for rendering music notation and guitar tablature.

49 lines (48 loc) 1.56 kB
import { Modifier } from './modifier'; import { StaveNote } from './stavenote'; import { TabNote } from './tabnote'; import { Tickable } from './tickable'; export interface ModifierContextState { leftShift: number; rightShift: number; textLine: number; topTextLine: number; } export interface ModifierContextMetrics { width: number; spacing: number; } export type ModifierContextMember = Tickable | Modifier | StaveNote | TabNote; export declare class ModifierContext { static DEBUG: boolean; protected state: ModifierContextState; protected members: Record<string, ModifierContextMember[]>; protected preFormatted: boolean; protected postFormatted: boolean; protected formatted: boolean; protected width: number; protected spacing: number; addModifier(member: ModifierContextMember): this; /** * this.members maps CATEGORY strings to arrays of Tickable | Modifier | StaveNote | TabNote. * Here we add a new member to this.members, and create a new array if needed. * @param member * @returns this */ addMember(member: ModifierContextMember): this; /** * @deprecated */ getModifiers(category: string): ModifierContextMember[]; getMembers(category: string): ModifierContextMember[]; /** * Get the width of the entire */ getWidth(): number; getLeftShift(): number; getRightShift(): number; getState(): ModifierContextState; getMetrics(): ModifierContextMetrics; preFormat(): void; postFormat(): void; }