# {py:mod}`simvx.core.text.measure` ```{py:module} simvx.core.text.measure ``` ```{autodoc2-docstring} simvx.core.text.measure :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`set_metrics_font ` - ```{autodoc2-docstring} simvx.core.text.measure.set_metrics_font :summary: ``` * - {py:obj}`add_metrics_listener ` - ```{autodoc2-docstring} simvx.core.text.measure.add_metrics_listener :summary: ``` * - {py:obj}`invalidate_text_metrics ` - ```{autodoc2-docstring} simvx.core.text.measure.invalidate_text_metrics :summary: ``` * - {py:obj}`metrics_font ` - ```{autodoc2-docstring} simvx.core.text.measure.metrics_font :summary: ``` * - {py:obj}`measure_text_width ` - ```{autodoc2-docstring} simvx.core.text.measure.measure_text_width :summary: ``` * - {py:obj}`text_prefix_widths ` - ```{autodoc2-docstring} simvx.core.text.measure.text_prefix_widths :summary: ``` * - {py:obj}`reset ` - ```{autodoc2-docstring} simvx.core.text.measure.reset :summary: ``` * - {py:obj}`text_minimum_width ` - ```{autodoc2-docstring} simvx.core.text.measure.text_minimum_width :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.core.text.measure.log :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.text.measure.__all__ :summary: ``` * - {py:obj}`LOGICAL_EM ` - ```{autodoc2-docstring} simvx.core.text.measure.LOGICAL_EM :summary: ``` * - {py:obj}`DEFAULT_METRICS_PX ` - ```{autodoc2-docstring} simvx.core.text.measure.DEFAULT_METRICS_PX :summary: ``` * - {py:obj}`FALLBACK_ADVANCE ` - ```{autodoc2-docstring} simvx.core.text.measure.FALLBACK_ADVANCE :summary: ``` * - {py:obj}`WIDTH_CACHE_LIMIT ` - ```{autodoc2-docstring} simvx.core.text.measure.WIDTH_CACHE_LIMIT :summary: ``` * - {py:obj}`WIDTH_CACHE_EVICT ` - ```{autodoc2-docstring} simvx.core.text.measure.WIDTH_CACHE_EVICT :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.core.text.measure.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.core.text.measure.log ``` ```` ````{py:data} __all__ :canonical: simvx.core.text.measure.__all__ :value: > ['add_metrics_listener', 'invalidate_text_metrics', 'measure_text_width', 'metrics_font', 'set_metri... ```{autodoc2-docstring} simvx.core.text.measure.__all__ ``` ```` ````{py:data} LOGICAL_EM :canonical: simvx.core.text.measure.LOGICAL_EM :value: > 16.0 ```{autodoc2-docstring} simvx.core.text.measure.LOGICAL_EM ``` ```` ````{py:data} DEFAULT_METRICS_PX :canonical: simvx.core.text.measure.DEFAULT_METRICS_PX :value: > 48.0 ```{autodoc2-docstring} simvx.core.text.measure.DEFAULT_METRICS_PX ``` ```` ````{py:data} FALLBACK_ADVANCE :canonical: simvx.core.text.measure.FALLBACK_ADVANCE :value: > 0.6 ```{autodoc2-docstring} simvx.core.text.measure.FALLBACK_ADVANCE ``` ```` ````{py:data} WIDTH_CACHE_LIMIT :canonical: simvx.core.text.measure.WIDTH_CACHE_LIMIT :value: > 8192 ```{autodoc2-docstring} simvx.core.text.measure.WIDTH_CACHE_LIMIT ``` ```` ````{py:data} WIDTH_CACHE_EVICT :canonical: simvx.core.text.measure.WIDTH_CACHE_EVICT :value: > None ```{autodoc2-docstring} simvx.core.text.measure.WIDTH_CACHE_EVICT ``` ```` ````{py:function} set_metrics_font(font: collections.abc.Callable[[str], typing.Any] | None, /, fallback=None) -> None :canonical: simvx.core.text.measure.set_metrics_font ```{autodoc2-docstring} simvx.core.text.measure.set_metrics_font ``` ```` ````{py:function} add_metrics_listener(callback: collections.abc.Callable[[str], None], /) -> None :canonical: simvx.core.text.measure.add_metrics_listener ```{autodoc2-docstring} simvx.core.text.measure.add_metrics_listener ``` ```` ````{py:function} invalidate_text_metrics(chars: str = '', /) -> None :canonical: simvx.core.text.measure.invalidate_text_metrics ```{autodoc2-docstring} simvx.core.text.measure.invalidate_text_metrics ``` ```` ````{py:function} metrics_font() :canonical: simvx.core.text.measure.metrics_font ```{autodoc2-docstring} simvx.core.text.measure.metrics_font ``` ```` ````{py:function} measure_text_width(text: str, scale: float = 1.0, *, cell_width: float = 0.0) -> float :canonical: simvx.core.text.measure.measure_text_width ```{autodoc2-docstring} simvx.core.text.measure.measure_text_width ``` ```` ````{py:function} text_prefix_widths(text: str, scale: float = 1.0, *, cell_width: float = 0.0) -> list[float] :canonical: simvx.core.text.measure.text_prefix_widths ```{autodoc2-docstring} simvx.core.text.measure.text_prefix_widths ``` ```` ````{py:function} reset() -> None :canonical: simvx.core.text.measure.reset ```{autodoc2-docstring} simvx.core.text.measure.reset ``` ```` ````{py:function} text_minimum_width(text: str, scale: float = 1.0, *, cell_width: float = 0.0) -> float :canonical: simvx.core.text.measure.text_minimum_width ```{autodoc2-docstring} simvx.core.text.measure.text_minimum_width ``` ````