class Inky.Element
props: Inky.Props | {[string]: any}
getView(self: Inky.Element): (x: number, y: number, w: number, h: number)

Return the x, y, w, h that the Element was last rendered at

on(
    self: Inky.Element,
    eventName: string,
    callback: fun(element: Inky.Element, ...any): nil
): Inky.Element

Execute callback when Scene event is raised from the parent Scene

See Inky.Scene:raise()

onPointer(
    self: Inky.Element,
    eventName: string,
    callback: fun(element: Inky.Element, pointer: Inky.Pointer, ...any): nil
): Inky.Element

Execute callback when a Pointer event is raised from an overlapping/capturing Pointer

See:

onPointerInHierarchy(
    self: Inky.Element,
    eventName: string,
    callback: fun(element: Inky.Element, pointer: Inky.Pointer, ...any): nil
): Inky.Element

Execute callback when a Pointer event was accepted by a child Element

See:

onPointerEnter(
    self: Inky.Element,
    callback: fun(element: Inky.Element, pointer: Inky.Pointer): nil
): Inky.Element

Execute callback when a Pointer enters the bounding box of the Element

onPointerExit(
    self: Inky.Element,
    callback: fun(element: Inky.Element, pointer: Inky.Pointer): nil
): Inky.Element

Execute callback when a Pointer exits the bounding box of the Element

onEnable(
    self: Inky.Element,
    callback?: fun(element: Inky.Element): nil
): Inky.Element

Execute callback when an Element is rendered, when it wasn’t rendered last frame

onDisable(
    self: Inky.Element,
    callback?: fun(element: Inky.Element): nil
): Inky.Element

Execute callback when an Element isn’t rendered, when it was rendered last frame

useOverlapCheck(
    self: Inky.Element,
    predicate: fun(pointerX: number, pointerY: number, x: number, y: number, w: number, h: number): boolean
): Inky.Element

Use an additional check to determine if a Pointer is overlapping an Element

Note: Check is performed after a bounding box check

useEffect(
    self: Inky.Element,
    effect: fun(element: Inky.Element): nil,
    ...: any
): Inky.Element

Execute a side effect when any specified Element’s prop changes

Note: The effect is ran right before a render

render(
    self: Inky.Element,
    x: number,
    y: number,
    w: number,
    h: number,
    depth?: number
): Inky.Element

Render the Element, setting up all the hooks and drawing the Element

Note: The parent Scene’s frame must have been begun to be able to render

See Inky.Scene:beginFrame()

class Internal
alias Initializer = fun(self: Inky.Element, scene: Inky.Scene): fun(self: Inky.Element, x: number, y: number, w: number, h: number, depth?: number)
alias Draw = fun(self: Inky.Element, x: number, y: number, w: number, h: number, depth?: number)
alias OnCallback = fun(element: Inky.Element, ...any): nil
alias OnPointerCallback = fun(element: Inky.Element, pointer: Inky.Pointer, ...any): nil
alias OnPointerInHierarchyCallback = fun(element: Inky.Element, pointer: Inky.Pointer, ...any): nil
alias OnPointerEnterCallback = fun(element: Inky.Element, pointer: Inky.Pointer): nil
alias OnPointerExitCallback = fun(element: Inky.Element, pointer: Inky.Pointer): nil
alias OnEnableCallback = fun(element: Inky.Element): nil
alias OnDisableCallback = fun(element: Inky.Element): nil
alias Effect = fun(element: Inky.Element): nil
alias OverlapPredicate = fun(pointerX: number, pointerY: number, x: number, y: number, w: number, h: number): boolean