Passed to IWidget.Render(). More...
Public Member Functions | |
| void | RegisterWidget (IWidget widget, Region region) |
| Record that widget was rendered at region . | |
| void | SetCursorDescriptor (CursorDescriptor cursor) |
| Set cursor on the Rendering Context. | |
| bool | TryReuseWidget (IWidget widget, Region region) |
| If widget (same reference) was rendered at the same region last frame, copy its cells from the previous buffer and return true. | |
| void | Write (int col, int row, string text, Style style) |
| Write a styled string at an absolute terminal position. | |
| void | WriteRawEscape (Region region, IRawEscapePayload payload) |
| Register a raw escape payload for region . | |
Properties | |
| ColorProfile | ColorProfile [get] |
| Detected terminal color capability. | |
| CursorDescriptor? | Cursor [get] |
| Cursor information for TextArea and TextInput widgets. | |
| ResolvedLayout | Layout [get] |
| Resolved layout for the current frame. | |
| Region | Region [get] |
| The allocated region for this widget (absolute terminal coordinates). | |
| Theme | Theme [get] |
| Active theme for style inheritance. | |
Passed to IWidget.Render().
Provides the allocated screen region and render-time context (theme, color profile, terminal writer).
Record that widget was rendered at region .
Used by the render cache for next-frame reuse. Default implementation is a no-op.
Implemented in ConsoleForge.Layout.RenderContext, and ConsoleForge.Layout.SubRenderContext.
If widget (same reference) was rendered at the same region last frame, copy its cells from the previous buffer and return true.
Caller should skip rendering that widget. A hit re-registers the widget for the current frame, so the caller must not call RegisterWidget again for it. Default implementation returns false (no caching).
Implemented in ConsoleForge.Layout.RenderContext, and ConsoleForge.Layout.SubRenderContext.
| void ConsoleForge.Layout.IRenderContext.Write | ( | int | col, |
| int | row, | ||
| string | text, | ||
| Style | style ) |
Write a styled string at an absolute terminal position.
The call is a no-op if (col, row) falls outside Region.
Implemented in ConsoleForge.Layout.RenderContext, and ConsoleForge.Layout.SubRenderContext.
| void ConsoleForge.Layout.IRenderContext.WriteRawEscape | ( | Region | region, |
| IRawEscapePayload | payload ) |
Register a raw escape payload for region .
All terminal cells covered by the region are sentinel-filled so the cell diff does not overwrite the image with styled spaces. The payload's sequences are emitted after the full cell-diff pass in the same frame, preceded by a cursor-move to region 's top-left corner. Re-emission is skipped when IRawEscapePayload.ContentHash and the region both match the previous frame (hash-based deduplication). Default implementation is a no-op — test fakes and SubRenderContext override this.
Implemented in ConsoleForge.Layout.RenderContext, and ConsoleForge.Layout.SubRenderContext.
|
get |
Resolved layout for the current frame.
Container widgets use this to retrieve child regions without re-running layout.
Implemented in ConsoleForge.Layout.RenderContext, and ConsoleForge.Layout.SubRenderContext.