brown.core.music_text

classes

permalink view source

MusicText (Text)

A glyph with a MusicFont and convenient access to relevant SMuFL metadata.

Point: The origin offset override for this glyph.

Find the bounding rect of a given list of music chars.

Takes a list of MusicChars and determined the bounding rect they would have if they were in this MusicText.

The fonts of every music character should the the same as self.font.

Args: music_chars (list[MusicChar]): The string to represent

Returns: Rect: The bounding rect of the specified text if drawn.

Raises: ValueError: if music_chars is empty.

Args: text (str, tuple, MusicChar, or list of these): The text to be used, represented as a either a str (glyph name), tuple (glyph name, alternate number), MusicChar, or a list of these. font (MusicFont): The font to be applied to the text

__init__ (pos, text, parent, font=None, scale_factor=1) permalink view source

overriden from GraphicObject

arguments:

pos (Point or init tuple): The position of the text.

text (str, tuple, MusicChar, or list of these): The text to be used, represented as a either a str (glyph name), tuple (glyph name, alternate number), MusicChar, or a list of these.

parent (GraphicObject): The parent of the glyph. If no font is given, this must either be a Staff or an object which has a Staff as an ancestor.

font (MusicFont): The music font to be used. If not specified, parent must be or have a Staff ancestor.

scale_factor (float): A hard scaling factor to be applied in addition to the size of the music font.

properties

length: Unit The breakable width of the object. permalink view source

overriden from GraphicObject

This is used to determine how and where rendering cuts should be made.

read-only.

bounding_rect: Rect The bounding rect for this text when rendered. permalink view source

overriden from Text

read-only.

inherited properties

text: str The text to be drawn permalink view source

read-only.

inherited from Text

font: Font The text font permalink view source

inherited from Text

baseline_y: Unit The y coordinate of the first text line's baseline. permalink view source

read-only.

inherited from Text

scale_factor: float A hard scale factor to be applied to the rendered text permalink view source

inherited from Text

interfaces: set(GraphicObjectInterface) The interfaces for this object permalink view source

Interface objects are created upon calling GraphicObject.render()

Typically each GraphicObject will have one interface for each flowable line it appears in. Objects which fit completely in one visual line will typically have exactly one interface.

If this is an empty set, the object has not been rendered yet with the render() method.

read-only.

inherited from GraphicObject

pos: Point The position of the object relative to its parent. permalink view source

inherited from GraphicObject

x: Unit The x position of the object relative to its parent. permalink view source

inherited from GraphicObject

y: Unit The x position of the object relative to its parent. permalink view source

inherited from GraphicObject

pen: Pen The pen to draw outlines with permalink view source

inherited from GraphicObject

brush: Brush The brush to draw outlines with permalink view source

As a convenience, this may be set with a hex color string for a solid color brush of that color. For brushes using alpha channels and non-solid-color fill patterns, a fully initialized brush must be passed to this.

inherited from GraphicObject

parent: GraphicObject The parent object. permalink view source

If this is set to None, it defaults to the first page of the document.

inherited from GraphicObject

children: set(GraphicObject) All objects who have self as their parent. permalink view source

inherited from GraphicObject

descendants: iter[GraphicObject] All of the objects in the children subtree. permalink view source

This recursively searches all of the object's children (and their children, etc.) and provides an iterator over them.

The current implementation performs a simple recursive DFS over the tree, and has the potential to be rather slow.

read-only.

inherited from GraphicObject

ancestors: iter[GraphicObject] All ancestors of this object. permalink view source

Follows the chain of parents until a document page is reached. The iterable will not include the document Page.

The order begins with self.parent and traverses upward in the tree.

read-only.

inherited from GraphicObject

flowable: Flowable or None The flowable this object belongs in. permalink view source

read-only.

inherited from GraphicObject

page_index: The index of the page this object appears on. permalink view source

>>> from brown.core import brown; brown.setup()
>>> some_object = GraphicObject((Mm(20), Mm(50)),
...                             parent=brown.document.pages[5])
>>> some_object.page_index
5
>>> some_object in brown.document.pages[5].descendants
True

read-only.

inherited from GraphicObject

inherited class methods

map_between_items (source, destination) permalink view source

Find a GraphicObject's position relative to another GraphicObject

arguments:

source (GraphicObject): The object to map from

destination (GraphicObject): The object to map to

returns:

Point: The canvas position of destination relative to source

inherited from GraphicObject

inherited methods

descendants_of_class_or_subclass (graphic_object_class) permalink view source

Yield all child descendants with a given class or its subclasses.

Args: graphic_object_class (type): The type to search for. This should be a subclass of GraphicObject.

Yields: GraphicObject

inherited from GraphicObject

descendants_of_exact_class (graphic_object_class) permalink view source

Yield all child descendants with a given class.

Args: graphic_object_class (type): The type to search for. This should be a subclass of GraphicObject.

Yields: GraphicObject

inherited from GraphicObject

first_ancestor_of_class_or_subclass (graphic_object_class) permalink view source

Get the closest ancestor with a class or its subclasses.

arguments:

graphic_object_class (type): The type to search for. This should be a subclass of GraphicObject.

returns:

GraphicObject or None

If none can be found, returns None.

inherited from GraphicObject

first_ancestor_of_exact_class (graphic_object_class) permalink view source

Get the closest ancestor with a class.

arguments:

graphic_object_class (type or str): The type to search for. This should be a subclass of GraphicObject. A str of a class name may also be used.

returns:

GraphicObject or None

If none can be found, returns None.

inherited from GraphicObject