Default font for text. This is not related to music engraving. Instead, see Flow.setMusicFont(...fontNames)
to customize the font for musical symbols placed on the score.
Returns the CSS compatible font string.
Provide a CSS compatible font string (e.g., 'bold 16px Arial').
The size is 1) a string of the form '10pt' or '16px', compatible with the CSS font-size property. or 2) a number, which is interpreted as a point size (i.e. 12 == '12pt').
a CSS font-size string (e.g., '18pt', '12px', '1em').
The size is 1) a string of the form '10pt' or '16px', compatible with the CSS font-size property. or 2) a number, which is interpreted as a point size (i.e. 12 == '12pt').
the font size in px
.
the font size in pt
.
a CSS font-style string (e.g., 'italic').
a CSS font-style string (e.g., 'italic').
a CSS font-weight string (e.g., 'bold'). As in CSS, font-weight is always returned as a string, even if it was set as a number.
a CSS font-weight string (e.g., 'bold'). As in CSS, font-weight is always returned as a string, even if it was set as a number.
Modes allow the addition of ticks in three different ways:
Add a class label (An element can have multiple class labels).
Apply the element style to context
.
Validate and return the context.
Render the voice onto the canvas context
and an optional stave
.
If stave
is omitted, it is expected that the notes have staves
already set.
This method also calculates the voice's boundingBox while drawing the notes. Note the similarities with this.getBoundingBox().
Draw the element and all its sub-elements (ie.: Modifiers in a Stave) with the element style.
Get the actual tick resolution for the voice.
Return an attribute.
Return the element attributes.
Get the bounding box for the voice.
Return the context.
a CSS font-size string (e.g., '18pt', '12px', '1em'). See Element.fontSizeInPixels or Element.fontSizeInPoints if you need to get a number for calculation purposes.
Get the largest width of all the tickables.
Get the voice mode.
Get the resolution multiplier for the voice.
Return associated SVGElement.
Get the tick count for the shortest tickable
Get the element style used for rendering.
Get the tickables in the voice.
Get the total ticks used in the voice by all the tickables.
Get the total ticks in the voice.
Check if it has a class label (An element can have multiple class labels).
Determine if the voice is complete according to the voice mode.
Return the rendered status.
Preformat the voice by applying the voice's stave to each note.
Remove a class label (An element can have multiple class labels).
Reset the text font to the style indicated by the static TEXT_FONT
property.
Subclasses can call this to initialize textFont
for the first time.
Restore the style of context
.
Set an attribute.
Set the context.
Set the element's font family, size, weight, style (e.g., Arial
, 10pt
, bold
, italic
).
is 1) a FontInfo
object or
2) a string formatted as CSS font shorthand (e.g., 'bold 10pt Arial') or
3) a string representing the font family (at least one of size
, weight
, or style
must also be provided).
a string specifying the font size and unit (e.g., '16pt'), or a number (the unit is assumed to be 'pt').
is a string (e.g., 'bold', 'normal') or a number (100, 200, ... 900).
is a string (e.g., 'italic', 'normal').
If no arguments are provided, then the font is set to the default font.
Each Element subclass may specify its own default by overriding the static TEXT_FONT
property.
Change the font size, while keeping everything else the same.
Set the element & associated children style used for rendering.
Set the voice mode.
value from VoiceMode
Set the rendered status.
We use softmax to layout the tickables proportional to the exponent of their duration. The softmax factor is used to determine the 'linearness' of the layout.
The softmax of all the tickables in this voice should sum to 1.
Set the voice mode to strict or soft.
Set the element style used to render.
Example:
element.setStyle({ fillStyle: 'red', strokeStyle: 'red' });
element.draw();
Note: If the element draws additional sub-elements (ie.: Modifiers in a Stave), the style can be applied to all of them by means of the context:
element.setStyle({ fillStyle: 'red', strokeStyle: 'red' });
element.getContext().setFillStyle('red');
element.getContext().setStrokeStyle('red');
element.draw();
or using drawWithStyle:
element.setStyle({ fillStyle: 'red', strokeStyle: 'red' });
element.drawWithStyle();
Get the softmax-scaled value of a tick duration. 'tickValue' is a number.
Voice
is mainly a container object to groupTickables
for formatting.