Skip to content

@jsvision/ui / centered

Function: centered() ​

centered<V>(view, width, height): V

Defined in: ui/src/view/dsl/stack.ts:309

Tag a view as a centered fixed-size stack layer (width × height, centered on both axes). It re-centers itself lag-free when the stack resizes.

Type Parameters ​

V ​

V extends View

Parameters ​

view ​

V

The layer view.

width ​

number

Fixed width in cells.

height ​

number

Fixed height in cells.

Returns ​

V

The same view, for inline chaining inside a stack(...).

Example ​

ts
import { View, stack, centered, type DrawContext } from '@jsvision/ui';

class Panel extends View {
  constructor(private readonly label: string) { super(); }
  draw(ctx: DrawContext) { ctx.fill(' ', ctx.color('window')); ctx.text(1, 0, this.label); }
}

const canvas = new Panel('canvas');
const dialog = new Panel('dialog');
const screen = stack(canvas, centered(dialog, 40, 12));