ParagraphRegistry class

Registry of active RenderFluentParagraph in the tree. Key = containerId (the id of the InlineContainerNode: Paragraph, ListItem, FluentCell).

Constructors

ParagraphRegistry()

Properties

caretVisible bool
Current caret blink phase. The render that owns the caret paints it only when this is true. Toggled by the editor's blink timer and forced to true on cursor movement so the caret restarts visible.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
registeredCount int
Diagnostic: number of currently registered renders.
no setter
renders Map<String, RenderFluentParagraph>
Public read-only access to the registered render objects. Key = containerId, Value = the active RenderFluentParagraph.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
visibleRenders Iterable<MapEntry<String, RenderFluentParagraph>>
Iterates only the renders whose containers are currently in view. Used by selection sync to avoid an O(n) scan over every paragraph in the document, reducing the per-frame cost to O(visible) on key-hold.
no setter

Methods

markInvisible(String containerId) → void
Mark a container as no longer visible (called on item disposal / recycle).
markVisible(String containerId) → void
Mark a container as visible (called from the virtualized item builder).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paragraphAtGlobalY(double globalY) → ({String id, RenderFluentParagraph render})?
Finds the rendered paragraph whose global bounds vertically contain globalY; if none contains it, returns the vertically nearest one.
register(String containerId, RenderFluentParagraph render) → void
registerHR(String nodeId, RenderBox render) → void
renderFor(String containerId) RenderFluentParagraph?
Direct (non-copying) lookup of the render registered for containerId.
resolveCaretX(CaretStop stop) double
Returns the global x coordinate (in logical pixels) of the caret for the given stop. Iterates the renders until one recognizes the fragmentId.
resolveCaretY(CaretStop stop) double
toString() String
A string representation of this object.
inherited
unregister(String containerId, RenderFluentParagraph render) → void
Removes render from the registry ONLY if it is actually the one currently registered for containerId. This prevents that, during reparenting of a node with the same id (e.g. outdent of a ListItem that reuses the Paragraph), the late detach of the old render deletes the entry of the new render already registered, making the node unresolvable.
unregisterHR(String nodeId, RenderBox render) → void

Operators

operator ==(Object other) bool
The equality operator.
inherited