grandma3-ts-types
Version:
TypeScript definitions for grandMA3 Lua library.
66 lines (62 loc) • 1.25 kB
TypeScript
type UIObjectProps = ObjProps & {
// Layout Props
anchors: Anchors;
backColor: Obj;
padding: Padding;
margin: Margin;
maxSize: MAUISize;
minSize: MAUISize;
h: Height;
w: Width;
x: number;
y: number;
contentDriven: YesNo;
contentWidth: YesNo;
contentHeight: YesNo;
forceContentMin: YesNo;
separator: YesNo;
// Appearance Props
focus: Focus;
hasFocus: YesNo;
hideFocusFrame: YesNo;
interactive: YesNo;
visible: BooleanString;
mixInBackColor: Obj;
// Text Props
alignmentH: AlignmentH;
alignmentV: AlignmentV;
font: Font;
hasHover: YesNo;
icon: string;
iconAlignmentH: AlignmentH;
iconAlignmentV: AlignmentV;
text: string;
textAlignmentH: AlignmentH;
textColor: Obj;
textShadow: number;
textShadowColor: Obj;
/**
* Scales down the text to fit the box. Also enabled text wrapping.
*/
textAutoAdjust: YesNo;
texture: string;
transparent: YesNo;
};
type UIObjectSignals = {
onLoad: SignalId;
onVisible: SignalId;
keyDown: SignalId;
keyUp: SignalId;
doubleClicked: SignalId;
execute: SignalId;
clicked: SignalId;
focusGet: SignalId;
focusLost: SignalId;
};
type UIObject = Obj &
UIObjectProps &
UIObjectSignals & {
readonly absRect: Rect;
readonly absClientRect: Rect;
GetOverlay(): Popup;
};