A delegating IRenderContext that forwards writes to a parent context but with a restricted sub-region. More...
Public Member Functions | |
| void | RegisterWidget (IWidget widget, Region region) |
| Record that widget was rendered at region .Used by the render cache for next-frame reuse. Default implementation is a no-op. | |
| void | SetCursorDescriptor (CursorDescriptor cursor) |
| Set cursor on the Rendering Context. | |
| SubRenderContext (IRenderContext parent, Region region) | |
| Initialises a sub-context that forwards writes to parent but restricts rendering to region . | |
| 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.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). | |
| void | 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. | |
| void | 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. | |
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.Container widgets use this to retrieve child regions without re-running layout. | |
| Region | Region [get] |
| The allocated region this sub-context is restricted to. | |
| Theme | Theme [get] |
| Active theme for style inheritance. | |
A delegating IRenderContext that forwards writes to a parent context but with a restricted sub-region.
Used by BorderBox to give the body widget its own clipped region.