Module textual.render

Expand source code
from rich.console import Console, RenderableType
from rich.protocol import rich_cast


def measure(console: Console, renderable: RenderableType, default: int) -> int:
    """Measure a rich renderable.

    Args:
        console (Console): A console object.
        renderable (RenderableType): Rich renderable.
        default (int): Default width to use if renderable does not expose dimensions.

    Returns:
        int: Width in cells
    """
    width = default
    renderable = rich_cast(renderable)
    get_console_width = getattr(renderable, "__rich_measure__", None)
    if get_console_width is not None:
        render_width = get_console_width(console, console.options).maximum
        width = max(0, render_width)
    return width

Functions

def measure(console: rich.console.Console, renderable: Union[rich.console.ConsoleRenderable, rich.console.RichCast, str], default: int) ‑> int

Measure a rich renderable.

Args

console : Console
A console object.
renderable : RenderableType
Rich renderable.
default : int
Default width to use if renderable does not expose dimensions.

Returns

int
Width in cells
Expand source code
def measure(console: Console, renderable: RenderableType, default: int) -> int:
    """Measure a rich renderable.

    Args:
        console (Console): A console object.
        renderable (RenderableType): Rich renderable.
        default (int): Default width to use if renderable does not expose dimensions.

    Returns:
        int: Width in cells
    """
    width = default
    renderable = rich_cast(renderable)
    get_console_width = getattr(renderable, "__rich_measure__", None)
    if get_console_width is not None:
        render_width = get_console_width(console, console.options).maximum
        width = max(0, render_width)
    return width