import { ClefInstruction } from "../VoiceData/Instructions/ClefInstruction"; import { Fraction } from "../../Common/DataObjects/Fraction"; import { GraphicalNote } from "../Graphical/GraphicalNote"; import { GraphicalStaffEntry } from "../Graphical/GraphicalStaffEntry"; import { MusicSystem } from "../Graphical/MusicSystem"; import { Note } from "../VoiceData/Note"; import { OctaveEnum } from "../VoiceData/Expressions/ContinuousExpressions/OctaveShift"; import { Pitch } from "../../Common/DataObjects/Pitch"; import { SourceMeasure } from "../VoiceData/SourceMeasure"; import { SourceStaffEntry } from "../VoiceData/SourceStaffEntry"; import { Staff } from "../VoiceData/Staff"; import { StaffLine } from "../Graphical/StaffLine"; import { GraphicalMeasure } from "../Graphical/GraphicalMeasure"; import { TechnicalInstruction } from "../VoiceData/Instructions/TechnicalInstruction"; import { GraphicalVoiceEntry } from "../Graphical/GraphicalVoiceEntry"; import { VoiceEntry } from "../VoiceData/VoiceEntry"; import { EngravingRules } from "../Graphical/EngravingRules"; import { KeyInstruction } from "../VoiceData/Instructions/KeyInstruction"; export interface IGraphicalSymbolFactory { createMusicSystem(systemIndex: number, rules: EngravingRules): MusicSystem; createStaffLine(parentSystem: MusicSystem, parentStaff: Staff): StaffLine; createGraphicalMeasure(sourceMeasure: SourceMeasure, staff: Staff): GraphicalMeasure; createMultiRestMeasure(sourceMeasure: SourceMeasure, staff: Staff): GraphicalMeasure; createTabStaffMeasure(sourceMeasure: SourceMeasure, staff: Staff): GraphicalMeasure; createExtraGraphicalMeasure(staffLine: StaffLine): GraphicalMeasure; createStaffEntry(sourceStaffEntry: SourceStaffEntry, measure: GraphicalMeasure): GraphicalStaffEntry; createVoiceEntry(parentVoiceEntry: VoiceEntry, parentStaffEntry: GraphicalStaffEntry): GraphicalVoiceEntry; createNote(note: Note, graphicalVoiceEntry: GraphicalVoiceEntry, activeClef: ClefInstruction, octaveShift: OctaveEnum, rules: EngravingRules, graphicalNoteLength?: Fraction): GraphicalNote; createGraceNote(note: Note, graphicalVoiceEntry: GraphicalVoiceEntry, activeClef: ClefInstruction, rules: EngravingRules, octaveShift?: OctaveEnum): GraphicalNote; addGraphicalAccidental(graphicalNote: GraphicalNote, pitch: Pitch): void; addFermataAtTiedEndNote(tiedNote: Note, graphicalStaffEntry: GraphicalStaffEntry): void; createGraphicalTechnicalInstruction(technicalInstruction: TechnicalInstruction, graphicalStaffEntry: GraphicalStaffEntry): void; createInStaffClef(graphicalStaffEntry: GraphicalStaffEntry, clefInstruction: ClefInstruction): void; createChordSymbols(sourceStaffEntry: SourceStaffEntry, graphicalStaffEntry: GraphicalStaffEntry, keyInstruction: KeyInstruction, transposeHalftones: number): void; }