malwoden
Version:
   
30 lines (29 loc) • 865 B
TypeScript
import { MouseHandlerEvent } from "../input";
import { Color } from "../terminal";
import { Widget, WidgetConfig } from "./widget";
import { BorderStyles } from "./util/draw-borders";
export interface ButtonWidgetState {
text: string;
backColor?: Color;
foreColor?: Color;
hoverColor?: Color;
downColor?: Color;
padding?: number;
onClick?: () => void;
mouseButton?: number;
borderStyle?: BorderStyles;
}
export declare enum HoverState {
None = 0,
Hover = 1,
Down = 2
}
export declare class ButtonWidget extends Widget<ButtonWidgetState> {
constructor(config: WidgetConfig<ButtonWidgetState>);
private getPadding;
private getBounds;
private getMouseStateFromMouseHandler;
private getBackColor;
onMouseClick(event: MouseHandlerEvent): boolean;
onDraw(): void;
}