lazy-widgets
Version:
Typescript retained mode GUI for the HTML canvas API
34 lines (33 loc) • 1.5 kB
TypeScript
import { Widget, WidgetProperties } from './Widget.js';
import { MultiParent } from './MultiParent.js';
import { WidgetEvent } from '../events/WidgetEvent.js';
import type { Rect } from '../helpers/Rect.js';
import type { WidgetAutoXML } from '../xml/WidgetAutoXML.js';
/**
* A {@link MultiParent} which automatically paints children, adds spacing,
* propagates events and handles layout.
*
* Can be constrained to a specific type of children.
*
* Note that there is no padding. Put this inside a {@link Container} if padding
* is needed.
*
* @category Widget
*/
export declare class MultiContainer<W extends Widget = Widget> extends MultiParent<W> {
static autoXML: WidgetAutoXML;
/** Is this container vertical? */
private vertical;
/** The unused space along the main axis after resolving dimensions */
private unusedSpace;
/** The number of enabled children in this container */
private enabledChildCount;
constructor(vertical: boolean, children?: Array<W>, properties?: Readonly<WidgetProperties>);
protected onThemeUpdated(property?: string | null): void;
protected handleEvent(baseEvent: WidgetEvent): Widget | null;
protected handlePreLayoutUpdate(): void;
protected handlePostLayoutUpdate(): void;
protected handleResolveDimensions(minWidth: number, maxWidth: number, minHeight: number, maxHeight: number): void;
resolvePosition(x: number, y: number): void;
protected handlePainting(dirtyRects: Array<Rect>): void;
}