lazy-widgets
Version:
Typescript retained mode GUI for the HTML canvas API
29 lines (28 loc) • 1.32 kB
TypeScript
import { Widget, WidgetProperties } from './Widget.js';
import { SingleParent } from './SingleParent.js';
import { WidgetEvent } from '../events/WidgetEvent.js';
import type { Rect } from '../helpers/Rect.js';
import type { WidgetAutoXML } from '../xml/WidgetAutoXML.js';
/**
* A {@link SingleParent} which contains a single child and does nothing,
* passing all events through to its child. Useful for widgets that are only
* used for logic, like {@link ThemeScope}.
*
* Can be constrained to a specific type of children.
*
* Since this does nothing on its own, it should not be used on its own.
* Instead, extend this class if you are looking for a way to do wrapper widgets
* that provide extra logic.
*
* @category Widget
*/
export declare class PassthroughWidget<W extends Widget = Widget> extends SingleParent<W> {
static autoXML: WidgetAutoXML;
constructor(child: W, properties?: Readonly<WidgetProperties>);
protected handleEvent(event: 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;
}