MCPcopy Index your code
hub / github.com/Textualize/textual / render_widget

Method render_widget

src/textual/_styles_cache.py:99–161  ·  view source on GitHub ↗

Render the content for a widget. Args: widget: A widget. region: A region of the widget to render. Returns: Rendered lines.

(self, widget: Widget, crop: Region)

Source from the content-addressed store, hash-verified

97 self._dirty_lines.clear()
98
99 def render_widget(self, widget: Widget, crop: Region) -> list[Strip]:
100 """Render the content for a widget.
101
102 Args:
103 widget: A widget.
104 region: A region of the widget to render.
105
106 Returns:
107 Rendered lines.
108 """
109 border_title = widget._border_title
110 border_subtitle = widget._border_subtitle
111 self._simple_strip = None
112
113 base_background, background = widget.background_colors
114 styles = widget.styles
115 app = widget.app
116 strips = self.render(
117 styles,
118 widget.region.size,
119 base_background,
120 background,
121 widget.render_line,
122 widget.get_line_filters(),
123 (
124 None
125 if border_title is None
126 else (
127 border_title,
128 *widget._get_title_style_information(base_background),
129 )
130 ),
131 (
132 None
133 if border_subtitle is None
134 else (
135 border_subtitle,
136 *widget._get_subtitle_style_information(base_background),
137 )
138 ),
139 content_size=widget.content_region.size,
140 padding=styles.padding,
141 crop=crop,
142 opacity=widget.opacity,
143 ansi_theme=app.ansi_theme,
144 native_ansi=app.native_ansi_color,
145 )
146
147 if widget.auto_links:
148 hover_style = widget.hover_style
149 if (
150 hover_style._link_id
151 and hover_style._meta
152 and "@click" in hover_style.meta
153 ):
154 link_style_hover = widget.link_style_hover
155 if link_style_hover:
156 strips = [

Callers 1

render_linesMethod · 0.80

Calls 5

renderMethod · 0.95
style_linksMethod · 0.80
get_line_filtersMethod · 0.45

Tested by

no test coverage detected